Я очень смущен, потому что я создал новый проект в Visual Studio 2019. Я пробовал это три отдельных раза с разными проектами, и каждый раз он экспортируется как DLL вместо EXE.Вот шаги по воспроизведению этой проблемы:
- Новый проект
- Консольное приложение (.NET Core)
- Укажите детали для нового проекта и нажмитекнопка «Создать»
- Добавить пакет NuGet Microsoft.Win32.Registry в проект
- Добавить следующий код:
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
со следующими файлами:
Запуск статистики ключей Changer.deps.json
Запуск статистики ключейChanger.dll
Ключевые статистики запуска Changer.pdb
Ключевые статистики запуска Changer.runtimeconfig.dev.json
Ключевые статистики запуска Changer.runtimeconfig.json
ЯЯ уверен, что у меня есть правильная папка, куда он будет экспортироваться, и каждый раз, когда я заново создаю шаги (убедившись, что я не выбрал проект C # DLL), это происходит.
В чем здесь дело?