[英]Visual Studio 2019 Exports C# Program as DLL instead of EXE?
我很困惑,因為我在 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 項目)時,都會發生這種情況。
這里有什么交易?
當您選擇Console App (.NET Core)
而不是Console App (.NET Framework)
,您出錯了,簡而言之,從 .net core 獲取 .exe 比從 .net framework 獲取 .exe 更難。
不過不用擔心,您可以簡單地復制所有代碼並將它們粘貼到新的Console App (.NET Framework)
項目中。
右鍵單擊項目並轉到屬性。 選擇Application選項卡,在右側,您有一個名為Output Type的選項。 你可以選擇任何你想要的; 例如,如果您希望您的項目發出一個 DLL,只需選擇Class Library 。
當您設置應用程序文件夾時:在要選擇的選項上添加/項目輸出/...,選擇“發布項目”而不是“主要輸出”。 這將打包 .exe 文件而不是 .dll,如果您確實需要 .dll 文件,則選擇“主要輸出”到輸出組。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.