【问题标题】:Visual Studio 2019 Exports C# Program as DLL instead of EXE?Visual Studio 2019 将 C# 程序导出为 DLL 而不是 EXE?
【发布时间】:2019-05-08 15:20:10
【问题描述】:

我很困惑,因为我在 Visual Studio 2019 中创建了一个新项目。我已经用不同的项目尝试了这三个不同的时间,每次它都导出为 DLL 而不是 EXE。以下是重现此问题的步骤:

  1. 新项目
  2. 控制台应用程序 (.NET Core)
  3. 设置新项目的详细信息,然后点击“创建”按钮
  4. 将 Microsoft.Win32.Registry NuGet 包添加到项目中
  5. 添加以下代码:
using Microsoft.Win32;
using System;

namespace Key_Statistics_Startup_Changer {
    class Program {
        static void Main(string[] args) {
            if (args[0] == "CREATE_STARTUP") {
                RegistryKey rkey = Registry.CurrentUser.CreateSubKey(@"Software\Microsoft\Windows\CurrentVersion\Run");
                rkey.SetValue("Key Statistics", @"C:\Program Files\Key Statistics\Key Statistics.exe");
            }
            else if (args[0] == "REMOVE_STARTUP") {
                RegistryKey rkey = Registry.CurrentUser.CreateSubKey(@"Software\Microsoft\Windows\CurrentVersion\Run");
                rkey.DeleteValue("Key Statistics");
            }
        }
    }
}
  1. 构建并运行项目

当我这样做时,当我通过 Visual Studio 输入参数时,程序会在启动时创建或删除所需的注册表(代码试图完成的工作)。然而,当这个项目被构建时,我的Key Statistics Startup Changer\bin\Debug 文件夹给了我一个子目录netcoreapp2.1,其中包含以下文件:

关键统计信息 Startup Changer.deps.json
关键统计信息 Startup Changer.dll
关键统计信息 Startup Changer.pdb
关键统计信息 Startup Changer.runtimeconfig.dev.json
关键统计信息 Startup Changer.runtimeconfig.json

我确信我有正确的文件夹可以导出,并且每次我重新创建步骤(确保我没有选择 C# DLL 项目)时,都会发生这种情况。

这是怎么回事?

【问题讨论】:

标签: c# build visual-studio-2019


【解决方案1】:

当您选择 Console App (.NET Core) 而不是 Console App (.NET Framework) 时,您出错了, 简而言之,从 .net 内核中获取 .exe 比从 .net 框架中更难。

不过不用担心,您只需复制所有代码并将它们粘贴到新的 Console App (.NET Framework) 项目。

【讨论】:

    【解决方案2】:

    右键单击项目并转到属性。选择 Application 选项卡,在右侧,您有一个名为 Output Type 的选项。你可以选择任何你想要的;例如,如果您希望您的项目生成一个 DLL,只需选择 Class Library

    【讨论】:

    • 当我使用marketplace.visualstudio.com/… 创建安装程序时,这仍然给了我一个 .dll,即使我选择“Windows 应用程序”作为我的输出类型
    【解决方案3】:

    当您设置应用程序文件夹时:添加/项目输出/... 在要选择的选项上,选择“发布项目”而不是“主要输出”。 这将打包 .exe 文件而不是 .dll,如果您确实需要 .dll 文件,请选择“主要输出”到输出组。

    【讨论】:

      猜你喜欢
      • 2020-02-24
      • 1970-01-01
      • 2013-09-27
      • 2021-08-12
      • 2018-03-30
      • 1970-01-01
      • 2018-09-12
      • 1970-01-01
      • 2011-05-05
      相关资源
      最近更新 更多