共用方式為


.NET 專案設計工具 (C#) (機器翻譯)

使用 [項目設計工具] 來指定 .NET Core 和 .NET 5+ 的項目設定和屬性。 針對 .NET Framework 和 Visual Basic 專案,請參閱 什麼是 .NET 項目設計工具?

若要存取項目設計工具,請選擇 方案總管 中的項目節點(而非方案節點)。 然後選擇功能表列上的 [專案]>[屬性]。 [專案設計工具] 隨即出現。

注意

在本文的某些 Visual Studio 使用者介面項目中,您的電腦可能會顯示不同的名稱或位置。 您使用的可能是不同版本的 Visual Studio 或不同的環境設定。 如需詳細資訊,請參閱將 IDE 個人化

應用程式、一般設定

下列選項可讓您設定應用程式的一般設定。

輸出類型

指定要建置的應用程式類型。 值會因專案類型而有所不同。 例如,針對主控台應用程式專案,您可以指定 Windows 應用程式主控台應用程式類別庫作為輸出類型。

如需輸出類型屬性的詳細資訊,請參閱 /target (C# 編譯器選項)

如需如何以程式設計方式存取此屬性的資訊,請參閱 OutputType

目標 Framework

指定應用程式作為目標的 .NET 版本。 視電腦上所安裝的 .NET 版本而定,此選項可能會有不同的值。

針對以 .NET Core 或 .NET 5+ 為目標的專案,可用的版本可能會如下所示:

Visual Studio 2022 中 .NET Core 項目的目標 Framework 版本螢幕快照。

注意

針對 ClickOnce 應用程式,在您第一次開啟對話框時,會自動設定必要條件對話框中列出的必要條件套件。 如果您接著變更專案的目標架構,就必須手動選取必要條件以符合新的目標架構。

如需詳細資訊,請參閱 Framework 目標概觀

目標OS

指定項目的目標操作系統。 結合目標架構,這會產生 .NET 5+ OS 特定的 TF

啟始物件

定義要在應用程式載入時呼叫的進入點。 通常,這會設定成您應用程式中的主要表單,或應該在應用程式啟動時執行的 Main 處理序。 因為類別庫沒有進入點,所以這個屬性的唯一選項是 [(未設定)]

根據預設,此選項在 WPF 應用程式專案中為 [(未設定)]。 另一個選項是 [projectname].App。 在 WPF 專案中,您必須設定應用程式啟動時載入 UI 資源的啟動 URI。 若要執行此作業,請開啟專案中的 Application.xaml 檔案,並將 StartupUri 屬性設為專案中的 .xaml 檔案 (例如 Window1.xaml)。 如需可接受根項目的清單,請參閱 StartupUri。 您必須也在專案的類別中定義 public static void Main() 方法。 此類別將會以 <專案名稱.類別名稱> 形式出現在 [啟始物件] 清單中。 您接著可以選取類別作為啟始物件。

如需詳細資訊,請參閱 /main (C# 編譯器選項)。 若要以程式設計方式存取此屬性,請參閱 StartupObject

組件名稱

指定將保留組件資訊清單之輸出檔的名稱。 變更此屬性也會變更 [輸出名稱] 屬性。

您也可以從命令列使用 /out (C# 編譯器選項) 進行這項變更。

若要以程式設計方式存取此屬性,請參閱 AssemblyName

預設命名空間

指定新增至專案之檔案的基底命名空間。

如需在程式碼中建立命名空間的詳細資訊,請參閱 namespace

若要以程式設計方式存取此屬性,請參閱 RootNamespace

應用程式、Win32 資源設定

圖示

設定想要用來當作程式圖示的 .ico 檔案。 按一下 [瀏覽] 以瀏覽現有圖形,或鍵入您所要檔案的名稱。 如需詳細資訊,請參閱 /win32icon (C# 編譯器選項)

若要以程式設計方式存取此屬性,請參閱 ApplicationIcon

如需建立圖示的資訊,請參閱圖示的影像編輯器

資源

[ 資源] 選項可協助您設定應用程式的資源設定。 根據預設, 會啟用 [圖示 ] 和 [指令清單 ] 選項。 這可讓您選取自己的圖示,或是選取不同的資訊清單產生選項。 除非您要提供專案的資源檔,否則請保留選取此選項按鈕。

如果您選取 [資源檔案],請設定項目的資源檔。 輸入路徑名稱,或使用 [ 流覽 ] 按鈕將 Win32 資源檔新增至專案。 如需詳細資訊,請參閱建立 .NET 應用程式的資源檔

Manifest

透過使用者帳戶控制 (UAC) 在 Windows 上執行應用程式時,請選取資訊清單產生選項。 此選項可以包含下列值:

  • 用預設設定嵌入資訊清單。 支援 Visual Studio 在 Windows 上操作的一般方式,亦即將 requestedExecutionLevel 指定為 AsInvoker,以在應用程式可執行檔中嵌入安全性資訊。 這是預設選項。

  • 建立無資訊清單應用程式。 此方法稱為「虛擬化」。 使用此選項,以與舊版應用程式相容。

  • 使用自定義指令清單。 可讓您輸入路徑或瀏覽至專案的自訂指令清單。

全域 Usings 設定

隱含全域使用

啟用或停用 全域使用,這可讓您使用命名空間中定義的類型,而不需要指定完整的命名空間。

管理隱含全域使用

手動新增和刪除全域用法,以用於您的專案。

建置、一般設定

條件式編譯的符號

指定執行條件式編譯的符號。 請以分號 (";") 分隔符號。 如需詳細資訊,請參閱 /define (C# 編譯器選項)

偵錯自定義符號

指定偵錯組建的條件式編譯符號。 默認偵錯符號會顯示在字串中,並以分號分隔。

釋放自定義符號

指定發行組建的條件式編譯符號。 默認發行符號會顯示在字串中,並以分號分隔。

平台目標

指定輸出檔設為目標的處理器。 針對任何 32 位元 Intel 相容處理器選擇 [x86],針對任何 64 位元 Intel 相容處理器選擇 [x64],針對 ARM 處理器選擇 [ARM],或選擇 [任何 CPU] 指定可接受任何處理器。 [任何 CPU] 是專案的預設值,因為這可讓應用程式在種類範圍最廣的不同硬體上執行。

如需詳細資訊,請參閱 /platform (C# 編譯器選項)

可為 Null

指定全專案 C# 可為 Null 的內容。 此 UI 選項是在 Visual Studio 16.5 中引進,而且只會針對使用 C# 8.0 或更新版本的專案啟用。

如需詳細資訊,請參閱可為 Null 的內容

產生元件資訊

指定封裝相關的項目屬性是否轉換成元件屬性。 如需詳細資訊,請參閱 GenerateAssemblyInfo 屬性。

不安全的程式碼

允許程式碼使用 unsafe 關鍵字來進行編譯。 如需詳細資訊,請參閱 /unsafe (C# 編譯器選項)

最佳化程式碼

啟用或停用由編譯器執行的最佳化,讓您的輸出檔變得更小、更快且更有效率。 如需詳細資訊,請參閱 /optimize (C# 編譯器選項)

偵錯符號

指定編譯器所產生的偵錯資訊類型。 如需如何設定應用程式偵錯效能的資訊,請參閱 DebugType 編譯程式選項。 此設定具有下列選項:

  • none

    指定不會產生任何偵錯資訊。

  • full

    允許將偵錯工具附加至執行中的程式。

  • pdbonly

    讓原始程式碼在偵錯工具中啟動程式時進行偵錯,但只有在將執行中的程式附加到偵錯工具時,才會顯示組譯工具。

  • portable

    產生 .PDB 檔案,這是非平台特定可攜式符號檔,可將主要可執行檔中項目的資訊和其產生方式提供給其他工具 (特別是偵錯工具)。 如需詳細資訊,請參閱 Portable PDB (可攜式 PDB)。

  • embedded

    在組件中內嵌可攜式符號資訊。 不會產生任何外部 .PDB 檔案。

如需詳細資訊,請參閱 /debug (C# 編譯器選項)

建置、錯誤和警告設定

您可以使用下列設定,為建置流程設定錯誤和警告選項。

警告層級

指定顯示編譯器警告的層級。 如需詳細資訊,請參閱 /warn (C# 編譯器選項)

隱藏特定警告

封鎖編譯程式產生一或多個特定警告的能力。 請以逗號或分號分隔多個警告編號。 如需詳細資訊,請參閱 /nowarn (C# 編譯器選項)

將警告視為錯誤

選取是否在建置程式期間將警告視為錯誤。 如需詳細資訊,請參閱 /warnaserror (C# 編譯器選項)

將特定警告視為錯誤

指定哪些警告被視為錯誤。 請以逗號或分號分隔多個警告編號。

提示

如果您不想將程式碼分析警告視為錯誤,請參閱程式碼分析常見問題

建置、輸出設定

您可以使用下列設定,為建置流程設定輸出選項。

基底輸出路徑

指定此專案組態的輸出檔案位置。 在此方塊中輸入建置輸出的路徑,或選擇 [瀏覽] 按鈕以指定路徑。 路徑是相對的;如果您輸入絕對路徑,它會儲存為相對路徑。 預設路徑為 bin\Debug or bin\Release\。

使用簡化的組建組態時,專案系統會決定要建置偵錯或發行版本。 不論您指定的 [輸出路徑] 為何,[偵錯] 功能表 (F5) 中的 [建置] 命令都會將組建放在偵錯位置。 不過,[建置] 功能表中的 [建置] 命令卻會將其放在您指定的位置。 如需詳細資訊,請參閱了解組建組態

參考元件

指定是否要產生 包含專案公用 API 的參考元件

檔檔案

指定將要在其中處理文件註解之檔案的名稱。 如需詳細資訊,請參閱 /doc (C# 編譯器選項)

建置、事件設定

如需組建事件設定的資訊,請參閱 指定建置事件 (C#)

建置、發佈設定

發佈

允許 MSBuild 發佈目標執行。 如需詳細資訊,請參閱 MSBuild IsPublishable 屬性。

已修剪發佈

指定是否在發佈程式期間啟用修剪。 如需詳細資訊,請參閱 Trim 相關屬性

發佈原生 AOT

指定是否要產生獨立且已預先編譯為機器碼的應用程式。 如需詳細資訊,請參閱 原生 AOT 部署

建置、強式命名設定

簽署元件

選取這個核取方塊可簽署組件並建立強式名稱金鑰檔。 如需使用 [專案設計工具] 簽署組件的詳細資訊,請參閱如何:簽署組件 (Visual Studio)。 如需詳細資訊,請參閱強式名稱的組件

此選項使用由 Windows 軟體開發套件 (SDK) 提供的 Al.exe 工具來簽署組件。 如需 Al.exe 的詳細資訊,請參閱如何:使用強式名稱簽署組件

強名稱金鑰檔案 清單

可讓您指定用來簽署組件的新或現有強式名稱金鑰檔。 選取 [<瀏覽...>],以選取現有金鑰檔。

僅限延遲符號

選取這個核取方塊可啟用延遲簽署。 如需詳細資訊,請參閱延遲簽署組件

請注意,延遲簽署專案將無法執行,也無法進行偵錯。 不過,您可以搭配使用 Sn.exe (強式名稱工具)-Vr 選項,以在開發期間略過驗證。

注意

當您簽署組件時,不一定可以存取私密金鑰。 例如,組織可能會有嚴密保護的金鑰組,即使開發人員也沒有這類金鑰組的日常存取權。 公開金鑰可能可以使用,但只有少數人才能存取私密金鑰。 在這類情況下,您可以使用「延遲」或「部分簽署」提供公開金鑰,並將私密金鑰的新增延遲到交付組件時。

建置、進階設定

下列選項可讓您設定進階組建設定。

Language version (語言版本)

/langversion (C# 編譯器選項) 的連結,提供如何根據專案的目標架構選擇預設語言版本的相關資訊。

檢查算術溢位

指定不在 checkedunchecked 關鍵字範圍內,且會產生超出該資料類型範圍之值的整數算術陳述式,是否會導致執行階段例外狀況。 如需詳細資訊,請參閱 /checked (C# 編譯器選項)

具決定性

指定是否要從相同的輸入來源產生位元組對等的輸出。 如需詳細資訊,請參閱 控制程式代碼產生的 C# 編譯程式選項。

內部編譯程式錯誤報告

指定是否要向 Microsoft 報告編譯器錯誤。 如果設定為 [提示]\(預設值),您會在發生內部編譯器錯誤時收到提示,讓您選擇以電子方式將錯誤報告傳送給 Microsoft。 如果設定為 [傳送],則會自動傳送錯誤報告。 如果設定為 [佇列],則會將錯誤報告排入佇列。 如果設定為 [無],則會以編譯器的文字輸出報告錯誤。 如需詳細資訊,請參閱 /errorreport (C# 編譯器選項)

檔案對齊

指定輸出檔案中區段的大小。 有效值為 5121024204840968192。 這些值是以位元組為單位。 每個區段將會對齊界限,而這個界限就是此值的倍數,會影響輸出檔的大小。 如需詳細資訊,請參閱 /filealign (C# 編譯器選項)

套件、一般設定

本節中的屬性可用來設定套件,通常對應至 NuGet .nuspec 檔案中的屬性。 如需詳細資訊,請參閱 .nuspec 檔案

套件、授權設定

套件授權

指定是否要在套件中包含授權表達式或授權檔案。 如需詳細資訊,請參閱 license 元素。

套件、符號設定

產生符號套件

指定是否要建立符號套件以進行偵錯。 如需詳細資訊,請參閱 建立符號套件 (.snupkg)

程式代碼分析,所有分析器設定

在組建上執行

指定當您建置專案時是否要執行原始程式碼分析。 如需詳細資訊,請參閱 停用 .NET 的原始程式碼分析。

在即時分析上執行

指定當您建置專案時,是否要執行即時原始程式碼分析。 如需詳細資訊,請參閱 停用 .NET 的原始程式碼分析。

程式代碼分析、.NET 分析器設定

在組建上強制執行程式碼樣式

指定建置專案時是否報告 .NET 程式代碼樣式違規。 如需詳細資訊,請參閱 在組建上強制執行程式代碼樣式。

啟用 .NET 分析器

啟用或停用 .NET 編譯程序平臺 (Roslyn) 分析器。 如需詳細資訊,請參閱 啟用或安裝第一方 .NET 分析器

分析層級

指定要在項目中執行的分析器集合。 如需詳細資訊,請參閱 程式代碼分析概觀一文中的最新更新 一節。

偵錯、一般設定

選取連結以開啟偵錯啟動配置檔 UI。 此 UI 可讓您新增和設定偵錯時要使用的不同設定檔。 每個設定檔名稱會顯示為 [ 開始偵錯] 清單中的 [開始] 選項。

針對 ASP.NET 核心項目,啟動配置檔 UI 中的設定會對應至專案啟動 設定.json 檔案中的設定。 如需此檔案在開發 ASP.NET 使用方式的詳細資訊,請參閱開發和啟動 設定.json

資源、一般設定

選取連結以開啟 RESX 元件資源檔。 如需詳細資訊,請參閱項目設計工具 設定 頁面。

另請參閱

改寫專案屬性 UI