【发布时间】:2019-05-08 15:20:10
【问题描述】:
我很困惑,因为我在 Visual Studio 2019 中创建了一个新项目。我已经用不同的项目尝试了这三个不同的时间,每次它都导出为 DLL 而不是 EXE。以下是重现此问题的步骤:
- 新项目
- 控制台应用程序 (.NET Core)
- 设置新项目的详细信息,然后点击“创建”按钮
- 将 Microsoft.Win32.Registry NuGet 包添加到项目中
- 添加以下代码:
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");
}
}
}
}
- 构建并运行项目
当我这样做时,当我通过 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