變更組建輸出目錄

您可以根據組態 (針對偵錯及/或版本) 指定專案所產生的輸出位置。

變更組建輸出目錄

  1. 若要開啟專案屬性頁面,請以滑鼠右鍵按一下 [方案總管] 中的專案節點,然後選取 [屬性]

  2. 根據您的專案類型,選取適當的索引標籤:

    • 若是 C#,請選取 [建置] 索引標籤。
    • 若是 Visual Basic,請選取 [編譯] 索引標籤。
    • 若是 C++ 或 JavaScript,請選取 [一般] 索引標籤。
  3. 在頂端的組態下拉式清單中,選擇您想要變更其輸出檔位置的組態 ([偵錯]、[發行] 或 [所有組態])。

  4. 在頁面中尋找輸出路徑項目,因您的專案類型而異:

    • 輸出路徑適用於 C++ 和 JavaScript 專案
    • 組建輸出路徑適用於 Visual Basic 專案
    • 輸出目錄適用於 Visual C++ 專案

    鍵入要產生輸出的目標路徑 (絕對或相對於根專案目錄),或選擇 [瀏覽] 以瀏覽至該資料夾。

    適用於 Visual Studio C# 專案的輸出路徑

    注意

    某些專案預設會在建置路徑中包含架構和執行階段。 若要變更此設定,請在方案總管中以滑鼠右鍵按一專案節點,選取 [編輯專案檔],然後新增下列項目:

    <PropertyGroup>
      <AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
      <AppendRuntimeIdentifierToOutputPath>false</AppendRuntimeIdentifierToOutputPath>
    </PropertyGroup>
    

提示

如果您指定的位置並未產生輸出,請確定您已正確選取 Visual Studio 的功能表列來建置對應組態 (例如 [偵錯] 或 [發行])。

Visual Studio 2019 中的組建組態選擇器。

變更組建輸出目錄

在 Visual Studio 2022 中,視您的專案類型而定,有不同的專案設計工具使用者介面。 C# .NET Framework 和所有 Visual Basic 專案都會使用舊版 .NET 專案設計工具,但 C# .NET Core (和 .NET 5 和更新版本) 專案會使用目前的 .NET 專案設計工具。 C++ 專案會使用自己的屬性頁使用者介面。 本節中的步驟取決於您所使用的專案設計工具。

使用目前的 .NET 專案設計工具變更組建輸出目錄

  1. 方案總管中以滑鼠右鍵按一下專案節點,並選取 [屬性]

  2. 展開建置區段,然後向下捲動至輸出子區段。

  3. 尋找 C# 的 [基礎輸出路徑],並鍵入要產生輸出的目標路徑 (絕對或相對於根專案目錄),或改為選擇 [瀏覽] 以瀏覽至該資料夾。 請注意,設定名稱會附加至基礎輸出路徑,以產生實際的輸出路徑。

    顯示 .NET Core C# 專案的「輸出」路徑屬性的螢幕擷取畫面。

    注意

    某些專案預設會在建置路徑中包含架構和執行階段。 若要變更此設定,請在方案總管中以滑鼠右鍵按一專案節點,選取 [編輯專案檔],然後新增下列項目:

    <PropertyGroup>
      <AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
      <AppendRuntimeIdentifierToOutputPath>false</AppendRuntimeIdentifierToOutputPath>
    </PropertyGroup>
    

提示

如果您指定的位置並未產生輸出,請確定您已正確選取 Visual Studio 的功能表列來建置對應組態 (例如 [偵錯] 或 [發行])。

Visual Studio 2022 中組建組態選擇器的螢幕擷取畫面。

使用舊版 .NET 專案設計工具或 C++ 屬性頁變更組建輸出目錄

  1. 方案總管中以滑鼠右鍵按一下專案節點,並選取 [屬性]

  2. 根據您的專案類型,選取適當的索引標籤:

    • 若是 C#,請選取 [建置] 索引標籤。
    • 若是 Visual Basic,請選取 [編譯] 索引標籤。
    • 若是 C++ 或 JavaScript,請選取 [一般] 索引標籤。
  3. 在頂端的組態下拉式清單中,選擇您想要變更其輸出檔位置的組態 ([偵錯]、[發行] 或 [所有組態])。

  4. 在頁面中尋找輸出路徑項目,因您的專案類型而異:

    • 輸出路徑適用於 C++ 和 JavaScript 專案
    • 組建輸出路徑適用於 Visual Basic 專案
    • 輸出目錄適用於 Visual C++ 專案

    鍵入要產生輸出的目標路徑 (絕對或相對於根專案目錄),或改為選擇 [瀏覽] 以瀏覽至該資料夾。

    顯示 C# .NET Framework 專案的「輸出」路徑屬性的螢幕擷取畫面。

    注意

    某些專案預設會在建置路徑中包含架構和執行階段。 若要變更此設定,請在方案總管中以滑鼠右鍵按一專案節點,選取 [編輯專案檔],然後新增下列項目:

    <PropertyGroup>
      <AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
      <AppendRuntimeIdentifierToOutputPath>false</AppendRuntimeIdentifierToOutputPath>
    </PropertyGroup>
    

建置通用輸出目錄

依預設,Visual Studio 會在方案內專屬資料夾的方案中建立每個專案。 您可以變更專案的建置輸出路徑,強制將所有輸出放在相同的資料夾中。

將所有方案輸出放在一個通用目錄中

  1. 按一下方案中的一個專案。

  2. 按一下 [專案] 功能表上的 [屬性]。

  3. 在每個專案中,根據其類型,選取 [編譯] 或 [組建],並將 [輸出路徑] 或 [基礎輸出路徑] 設定為要用於方案中所有專案的資料夾。

  4. 開啟專案的專案檔,並將下列屬性宣告加入至第一個屬性群組。

    <PropertyGroup>
      <!-- existing property declarations are here -->
      <UseCommonOutputDirectory>true</UseCommonOutputDirectory>
    </PropertyGroup>
    

    UseCommonOutputDirectory 設定為 true 會告知 Visual Studio 及其基礎建置引擎 (MSBuild),您要將多個專案輸出放在相同的資料夾中,因此 MSBuild 會省略專案相依於其他專案時通常發生的複製步驟。

  5. 針對方案中的所有專案,重複步驟 1-4。 如果您有一些不應該使用通用輸出目錄的特殊專案,則可以略過某些專案。

設定專案的中繼輸出目錄 (.NET 專案)

  1. 開啟專案檔案。

  2. 將下列屬性宣告新增至第一個屬性群組。

    <PropertyGroup>
      <!-- existing property declarations are here -->
      <IntermediateOutputPath>path</IntermediateOutputPath>
    </PropertyGroup>
    

    路徑會與專案檔相對,或者您可以使用絕對路徑。 如果您想要將專案名稱放在路徑中,您可以使用 MSBuild 屬性 $(MSBuildProjectName)$(MSBuildProjectDirectory) 來參考它。 如需您可以使用的更多屬性,請參閱 MSBuild 保留和已知屬性

  3. 建置時,Visual Studio 仍然會在專案資料夾底下建立 obj 資料夾,但它是空的。 您可以隨著建置程序的一部分將它刪除。 執行該動作的其中一個方法,是新增建置後事件以執行下列命令:

    rd "$(ProjectDir)obj" /s /q
    

    請參閱指定自訂建置事件