一般 MSBuild 專案項目
在 MSBuild 中,專案是一個或多個檔案的命名參考。 項目包含中繼資料,例如檔案名稱、路徑和版本號碼。 Visual Studio 中的所有專案類型都有共通的數個專案。 這些專案是在 microsoft.build.commontypes.xsd 中定義。
本文列出所有常見的專案專案。
參考
代表專案中的組件 (受管理) 參考。
項目中繼資料名稱 | 說明 |
---|---|
提示路徑 | 選擇性字串。 組件的相對或絕對路徑。 |
Name | 選擇性字串。 組件的顯示名稱,例如,"System.Windows.Forms"。 |
融合名稱 | 選擇性字串。 指定項目的簡單或強式融合名稱。 當這個屬性存在時,就可以節省時間,因為不需要開啟組件檔案就能取得融合名稱。 |
特定版本 | 選擇性布林值。 指定是否應僅參考融合名稱中的版本。 |
別名 | 選擇性字串。 參考的任何別名。 |
私人 | 選擇性布林值。 指定是否應將參考複製到輸出資料夾。 此屬性與 Visual Studio IDE 中參考的 [複製到本機] 屬性相符。 |
COM 參考
代表專案中的 COM (未受管理) 元件參考。 此項目僅適用於 .NET 專案。
項目中繼資料名稱 | 說明 |
---|---|
Name | 選擇性字串。 元件的顯示名稱。 |
Guid | 必要字串。 元件的 GUID,格式為 {12345678-1234-1234-1234-123456781234}。 |
VersionMajor | 必要字串。 元件的版本號碼主要部分。 例如,如果完整版本號碼為"5.46",則主要部分為 "5"。 |
VersionMinor | 必要字串。 元件版本號碼的次要部分。 例如,如果完整版本號碼為"5.46",則次要部分為 "46"。 |
EmbedInteropTypes | 選擇性布林值。 若為 true,則直接將此參考中的 interop 類型內嵌到您的元件,而不是產生 interop DLL。 |
Lcid | 選擇性字串。 元件的地區設定識別碼。 |
包裝函式工具 | 選擇性字串。 元件上所使用包裝函式工具的名稱。 值為: 1. 主要 2. tlbimp.exe 3. primaryortlbimp 4. aximp.exe |
隔離 | 選擇性布林值。 指定元件是否為免註冊元件。 |
COM 檔案參考
代表傳遞給 ResolveComReference 目標之 TypeLibFiles
參數的類型程式庫清單。 此項目僅適用於 .NET 專案。
項目中繼資料名稱 | 說明 |
---|---|
包裝函式工具 | 選擇性字串。 元件上所使用包裝函式工具的名稱。 值為: 1. 主要 2. tlbimp.exe 3. primaryortlbimp 4. aximp.exe |
原生參考
代表原生的資訊清單檔案或是這類檔案的參考。
項目中繼資料名稱 | 說明 |
---|---|
Name | 必要字串。 資訊清單檔案的基底名稱。 |
提示路徑 | 必要字串。 資訊清單檔案的相對路徑。 |
專案參考
代表另一個專案的參考。 ProjectReference
專案會依 ResolveProjectReferences
目標轉換成參考專案,因此,如果轉換程式未覆寫,則參考上任何有效的中繼資料都可能有效 ProjectReference
。
項目中繼資料名稱 | 說明 |
---|---|
Name | 選擇性字串。 參考的顯示名稱。 |
GlobalPropertiesToRemove | 選擇性的 string[] 。 建立參考專案時要移除的屬性名稱,例如 RuntimeIdentifier;PackOnBuild 。 預設為空白。 |
Project | 選擇性字串。 參考的 GUID,格式為 {12345678-1234-1234-1234-123456781234}。 |
OutputItemType | 選擇性字串。 要發出目標輸出的專案類型。 預設值為空白。 如果參考中繼資料設定為 "true" (預設值) 則目標輸出會成為編譯器的參考。 |
ReferenceOutputAssembly | 選擇性布林值。 如果設定為 false ,則不會將參考之專案的輸出,以參考的方式包含在此專案中,但仍然可確保其他專案會在此專案之前建置。 預設值為 true 。 |
SetConfiguration | 選擇性字串。 設定參考專案的全域屬性 Configuration ,例如 Configuration=Release 。 |
SetPlatform | 選擇性字串。 設定參考專案的全域屬性 Platform ,例如 Platform=AnyCPU 。 |
SetTargetFramework | 選擇性字串。 設定參考專案的全域屬性 TargetFramework ,例如 TargetFramework=netstandard2.0 。 |
SkipGetTargetFrameworkProperties | 選擇性布林值。 如果 true 為,則會建立參考的專案,而不會協調最相容 TargetFramework 的值。 預設值為 false 。 |
Targets | 選擇性的 string[] 。 應建立之參考專案中的目標清單(以分號分隔)。 預設值是預設值 $(ProjectReferenceBuildTargets) 為空白,表示預設目標。 |
編譯
代表編譯器的原始程式檔。
項目中繼資料名稱 | 說明 |
---|---|
相依依據 | 選擇性字串。 指定這個檔案必須倚賴才能正確編譯的檔案。 |
自動產生 | 選擇性布林值。 指出 Visual Studio 整合式開發環境中是否為專案產生檔案 (IDE) 。 |
連結 | 選擇性字串。 當檔案實際位於專案檔影響力之外時所顯示的標記路徑。 |
可見 | 選擇性布林值。 指出是否要在 Visual Studio 的 方案總管 中顯示檔案。 |
複製到輸出目錄 | 選擇性字串。 決定是否要將檔案複製到輸出目錄。 值為: 1. 永不 2. 一律 3. PreserveNewest |
內嵌資源
代表要內嵌於所產生組件中的資源。
項目中繼資料名稱 | 說明 |
---|---|
相依依據 | 選擇性字串。 指定這個檔案必須倚賴才能正確編譯的檔案 |
Generator | 必要字串。 在此項目上執行的任何檔案產生器名稱。 |
最後產生輸出 | 必要字串。 在此項目執行的任何檔案產生器所建立的檔案名稱。 |
自訂工具命名空間 | 必要字串。 在此項目上執行的任何檔案產生器應在其中建立程式碼的命名空間。 |
連結 | 選擇性字串。 如果檔案實際位於專案影響力之外,便會顯示標記路徑。 |
可見 | 選擇性布林值。 指出是否要在 Visual Studio 的 方案總管 中顯示檔案。 |
複製到輸出目錄 | 選擇性字串。 決定是否要將檔案複製到輸出目錄。 值為: 1. 永不 2. 一律 3. PreserveNewest |
LogicalName | 必要字串。 內嵌資源的邏輯名稱。 |
Content
代表不會編譯到專案中,但可能內嵌或一起發行的檔案。
項目中繼資料名稱 | 說明 |
---|---|
相依依據 | 選擇性字串。 指定這個檔案必須倚賴才能正確編譯的檔案。 |
Generator | 必要字串。 在此項目上執行的任何檔案產生器名稱。 |
最後產生輸出 | 必要字串。 在此項目執行的任何檔案產生器所建立的檔案名稱。 |
自訂工具命名空間 | 必要字串。 在此項目上執行的任何檔案產生器應在其中建立程式碼的命名空間。 |
連結 | 選擇性字串。 如果檔案實際位於專案影響力之外,便會顯示標記路徑。 |
發行狀態 | 必要字串。 內容的發行狀態,可以是: - 預設值 - 包含 - 排除 - 資料檔 - 必要條件 |
為組件 | 選擇性布林值。 指定檔案是否為組件。 |
可見 | 選擇性布林值。 指出是否要在 Visual Studio 的 方案總管 中顯示檔案。 |
複製到輸出目錄 | 選擇性字串。 決定是否要將檔案複製到輸出目錄。 值為: 1. 永不 2. 一律 3. PreserveNewest |
無
代表在建置流程中應該沒有任何角色的檔案。
項目中繼資料名稱 | 說明 |
---|---|
相依依據 | 選擇性字串。 指定這個檔案必須倚賴才能正確編譯的檔案。 |
Generator | 必要字串。 在此項目上執行的任何檔案產生器名稱。 |
最後產生輸出 | 必要字串。 在此項目執行的任何檔案產生器所建立的檔案名稱。 |
自訂工具命名空間 | 必要字串。 在此項目上執行的任何檔案產生器應在其中建立程式碼的命名空間。 |
連結 | 選擇性字串。 如果檔案實際位於專案影響力之外,便會顯示標記路徑。 |
可見 | 選擇性布林值。 指出是否要在 Visual Studio 的 方案總管 中顯示檔案。 |
複製到輸出目錄 | 選擇性字串。 決定是否要將檔案複製到輸出目錄。 值為: 1. 永不 2. 一律 3. PreserveNewest |
AssemblyMetadata
表示要產生的 [AssemblyMetadata(key, value)]
元件屬性。
項目中繼資料名稱 | 描述 |
---|---|
包含 | 成為屬性函式中 AssemblyMetadataAttribute (索引鍵) 的第一個參數。 |
值 | 必要字串。 成為 (屬性函式中 AssemblyMetadataAttribute ) 值的第二個參數。 |
注意
此專案適用于使用 SDK for .NET 5 (和 .NET Core) 和更新版本的專案。
InternalsVisibleTo
指定要發出為 [InternalsVisibleTo(..)]
元件屬性的元件。
項目中繼資料名稱 | 描述 |
---|---|
包含 | 組件名稱。 |
答案 | 選擇性字串。 元件的公開金鑰。 |
注意
此專案適用于使用 SDK for .NET 5 (和 .NET Core) 和更新版本的專案。
基本應用程式資訊清單
代表組建的基底應用程式資訊清單,並包含 ClickOnce 部署安全性資訊。
程式碼分析匯入
代表要匯入的 FxCop 專案。
匯入
代表 Visual Basic 編譯器要匯入其命名空間的元件。