以多個架構版本和平台為目標
藉由使用 MSBuild,您可以編譯應用程式,以在數個 .NET Framework 的任何一個版本,以及其中一個系統平台上執行。 例如,您可以編譯應用程式以在32位平臺上的 .NET Framework 2.0 上執行,並編譯相同的應用程式,以在64位平臺上的 .NET Framework 4.5 上執行。
注意
本文說明適用於 .NET Framework 組建的舊版多重目標類型,其中專案一次只能以一個架構和一個平臺為目標。 在 .NET Core 和 .NET 5 以及更高版本中,您可以在專案檔中使用 TargetFrameworks
(plural)屬性來運行更新的多重目標類型。 當您使用 dotnet build
或類似的 .NET CLI 命令進行建置,或在重載項目之後使用Visual Studio 建置時,您的組建會使用較新的多重目標類型,其中會針對列出的每個目標架構執行一次多個組建。 請參閱 目標架構。
以下是以 MSBuild 為目標的一些功能:
您可以開發以舊版 .NET Framework 為目標的應用程式,例如 2.0、3.5 或 4 版。
您可以以 .NET Framework 以外的架構為目標,例如 Silverlight Framework。
您可以將目標設為 架構配置檔,這是目標架構的預先定義子集。
如果針對目前版本的 .NET Framework 發行更新包,您可以鎖定它。
MSBuild 目標化可確保應用程式只使用目標架構和平臺中可用的功能。
目標架構和平臺
目標架構 是專案建置用來執行之 .NET Framework 的版本,而 目標平臺 是專案建置用來執行的系統平臺。 例如,您可能想要以 .NET Framework 2.0 應用程式為目標,在與 80x86 處理器系列 (x86) 相容的 32 位平台上執行。 目標架構和目標平台的組合稱為 目標內容。 如需詳細資訊,請參閱 目標架構和目標平臺。
工具集(ToolsVersion)
工具組會收集用來建立應用程式的工具、工作和目標。 工具組包含編譯程式,例如 csc.exe 和 vbc.exe、通用目標檔案(microsoft.common.targets),以及一般工作檔案(microsoft.common.tasks)。 4.5 工具組可用來以 .NET Framework 2.0、3.0、3.5、4 和 4.5 版為目標。 不過,2.0 工具組只能用來以 .NET Framework 2.0 版為目標。 如需詳細資訊,請參閱 工具組 (ToolsVersion)。
參考元件
工具組中指定的參考元件可協助您設計和建置應用程式。 這些參考元件不僅能啟用特定的目標組建,也會將Visual Studio IDE中的元件和功能限制為與目標相容的元件和功能。 如需詳細資訊,請於設計階段解析元件,請參閱 。
設定目標和工作
您可以設定 MSBuild 目標和任務,使其獨立於進程運行,從而能夠針對與當前運行環境顯著不同的上下文。 例如,您可以在開發計算機使用 .NET Framework 4.5 的 64 位平台上執行時,以 32 位 .NET Framework 2.0 應用程式為目標。 如需詳細資訊,請參閱 設定目標與工作。
故障排除
如果您嘗試參考不屬於目標內容的元件,可能會發生錯誤。 如需了解這些錯誤以及如何處理它們的詳細資訊,請參閱 疑難排解 .NET Framework 目標設定錯誤。