Item proyek MSBuild umum

Di MSBuild, item adalah referensi bernama ke satu atau beberapa file. Item berisi metadata seperti nama file, jalur, dan nomor versi. Semua jenis proyek di Visual Studio memiliki beberapa item yang sama. Item tersebut ditentukan dalam file Microsoft.Build.CommonTypes.xsd.

Artikel ini mencantumkan semua item proyek umum.

Referensi

Mewakili referensi rakitan (terkelola) dalam proyek.

Nama metadata item Deskripsi
HintPath String opsional. Jalur rakitan relatif atau absolut.
Nama String opsional. Nama tampilan rakitan, misalnya, "System.Windows.Forms."
FusionName String opsional. Menentukan nama fusi yang sederhana atau kuat untuk item.

Ketika atribut ini ada, atribut ini dapat menghemat waktu karena file assembly tidak perlu dibuka untuk mendapatkan nama fusi.
SpecificVersion Boolean opsional. Menentukan apakah hanya versi dalam nama fusi yang harus dirujuk.
Alias String opsional. Alias apa pun untuk referensi.
Privat Boolean opsional. Menentukan apakah referensi harus disalin ke folder output. Atribut ini cocok dengan properti Salin Lokal dari referensi yang ada di IDE Visual Studio.

COMReference

Mewakili referensi komponen COM (tidak terkelola) dalam proyek. Item ini hanya berlaku untuk proyek .NET.

Nama metadata item Deskripsi
Nama String opsional. Nama tampilan komponen.
Guid String yang diperlukan. GUID untuk komponen, dalam bentuk {12345678-1234-1234-1234-123456781234}.
VersionMajor String yang diperlukan. Bagian utama dari nomor versi komponen. Misalnya, "5" jika nomor versi lengkapnya adalah "5.46."
VersionMinor String yang diperlukan. Bagian kecil dari nomor versi komponen. Misalnya, "46" jika nomor versi lengkapnya adalah "5.46."
EmbedInteropTypes Boolean opsional. Jika true, sematkan jenis interop dari referensi ini langsung ke rakitan Anda daripada membuat DLL interop.
Lcid String opsional. LocaleID untuk komponen.
WrapperTool String opsional. Nama alat pembungkus yang digunakan pada komponen. Nilainya adalah:

1. primer
2. tlbimp
3. primaryortlbimp
4. aximp
Terpisah Boolean opsional. Menentukan apakah komponen tersebut adalah komponen bebas reg.

COMFileReference

Mewakili daftar pustaka jenis yang diteruskan ke parameter TypeLibFiles target ResolveComReference. Item ini hanya berlaku untuk proyek .NET.

Nama metadata item Deskripsi
WrapperTool String opsional. Nama alat pembungkus yang digunakan pada komponen. Nilainya adalah:

1. primer
2. tlbimp
3. primaryortlbimp
4. aximp

NativeReference

Mewakili file manifes asli atau referensi ke file tersebut.

Nama metadata item Deskripsi
Nama String yang diperlukan. Nama dasar file manifes.
HintPath String yang diperlukan. Jalur relatif file manifes.

ProjectReference

Mewakili referensi ke proyek lain. Item ProjectReference diubah menjadi item Referensi oleh target ResolveProjectReferences, sehingga metadata yang valid pada Referensi mungkin valid pada ProjectReference, jika proses transformasi tidak menimpanya.

Nama metadata item Deskripsi
Nama String opsional. Nama tampilan referensi.
GlobalPropertiesToRemove string[] opsional. Nama properti yang akan dihapus saat membuat proyek yang dirujuk, misalnya RuntimeIdentifier;PackOnBuild. Default untuk kosong.
Project String opsional. GUID untuk referensi, dalam formulir {12345678-1234-1234-1234-123456781234}.
OutputItemType String opsional. Jenis item untuk memancarkan output target ke dalamnya. Defaultnya kosong. Jika metadata Referensi diatur ke "true" (default), maka output target menjadi referensi untuk pengkompilasi.
ReferenceOutputAssembly Boolean opsional. Jika diatur ke false, tidak menyertakan output proyek yang dirujuk sebagai Referensi proyek ini, tetapi masih memastikan bahwa proyek lain dibangun sebelum proyek ini. Default ke true.
Privat Boolean opsional. Menentukan apakah referensi harus disalin ke folder output. Atribut ini cocok dengan properti Salin Lokal dari referensi yang ada di IDE Visual Studio.
SetConfiguration String opsional. Mengatur Configuration properti global untuk proyek yang dirujuk, misalnya Configuration=Release.
SetPlatform String opsional. Mengatur Platform properti global untuk proyek yang dirujuk, misalnya Platform=AnyCPU.
SetTargetFramework String opsional. Mengatur TargetFramework properti global untuk proyek yang dirujuk, misalnya TargetFramework=netstandard2.0.
SkipGetTargetFrameworkProperties Boolean opsional. Jika true, membuat proyek yang dirujuk tanpa menegosiasikan nilai TargetFramework yang paling kompatibel. Default ke false.
Target string[] opsional. Daftar target yang dipisahkan titik koma dalam proyek yang dirujuk yang harus dibuat. Defaultnya adalah nilai $(ProjectReferenceBuildTargets), yang defaultnya kosong, menunjukkan target default. Saat membangun di Visual Studio (dibandingkan MSBuild.exe dengan atau dotnet build), menentukan hal ini tidak mencegah Visual Studio membangun target default proyek yang direferensikan.

Catatan

Ada perbedaan antara cara kerja referensi proyek antara .NET Framework dan .NET Core (termasuk .NET 5 dan yang lebih baru). Dalam proyek .NET Framework, referensi proyek tidak transitif. Artinya, jika Project1 mereferensikan Project2, dan Project2 mereferensikan Project3, Anda tidak dapat membuat kode terhadap Project3 dari Project1. Namun, di .NET Core (termasuk .NET 5 dan yang lebih baru), referensi proyek bersifat transitif. Anda dapat membuat kode terhadap Project3 di Project1.

Mengompilasi

Mewakili file sumber untuk pengompilasi.

Nama metadata item Deskripsi
DependentUpon String opsional. Menentukan file yang bergantung pada file ini untuk dikompilasi dengan benar.
AutoGen Boolean opsional. Menunjukkan apakah file dibuat untuk proyek oleh lingkungan pengembangan terintegrasi (IDE) Visual Studio.
Tautan String opsional. Jalur notasi yang akan ditampilkan jika file secara fisik terletak di luar pengaruh file proyek.
Dapat dilihat Boolean opsional. Menunjukkan apakah akan menampilkan file di Penjelajah Solusi di Visual Studio.
CopyToOutputDirectory String opsional. Menentukan apakah akan menyalin file ke direktori output. Nilainya adalah:

1. Tidak pernah
2. Selalu
3. PreserveNewest

EmbeddedResource

Mewakili sumber daya yang akan disematkan dalam rakitan yang dibuat.

Nama metadata item Deskripsi
DependentUpon String opsional. Menentukan file yang bergantung pada file ini untuk dikompilasi dengan benar
Generator String opsional. Nama generator file yang dijalankan pada item ini.
LastGenOutput String opsional. Nama file yang dibuat oleh generator file yang berjalan pada item ini.
CustomToolNamespace String opsional. Namespace layanan di mana generator file yang berjalan pada item ini harus membuat kode.
Tautan String opsional. Jalur notasi ditampilkan jika file secara fisik terletak di luar pengaruh proyek.
Dapat dilihat Boolean opsional. Menunjukkan apakah akan menampilkan file di Penjelajah Solusi di Visual Studio.
CopyToOutputDirectory String opsional. Menentukan apakah akan menyalin file ke direktori output. Nilainya adalah:

1. Tidak pernah
2. Selalu
3. PreserveNewest
LogicalName String yang diperlukan. Nama logis sumber daya yang disematkan.

Konten

Mewakili file yang tidak dikompilasi ke dalam proyek, tetapi dapat disematkan atau diterbitkan bersama dengannya.

Nama metadata item Deskripsi
DependentUpon String opsional. Menentukan file yang bergantung pada file ini untuk dikompilasi dengan benar.
Generator String opsional. Nama generator file yang berjalan pada item ini.
LastGenOutput String opsional. Nama file yang dibuat oleh generator file yang dijalankan pada item ini.
CustomToolNamespace String opsional. Namespace layanan di mana generator file yang berjalan pada item ini harus membuat kode.
Tautan String opsional. Jalur notasi yang akan ditampilkan jika file secara fisik terletak di luar pengaruh proyek.
PublishState String yang diperlukan. Status penerbitan konten, baik:

- Default
- Disertakan
- xcluded
- DataFile
- Prasyarat
IsAssembly Boolean opsional. Menentukan apakah file tersebut adalah rakitan.
Dapat dilihat Boolean opsional. Menunjukkan apakah akan menampilkan file di Penjelajah Solusi di Visual Studio.
CopyToOutputDirectory String opsional. Menentukan apakah akan menyalin file ke direktori output. Nilainya adalah:

1. Tidak pernah
2. Selalu
3. PreserveNewest
TargetPath String opsional. Jalur output (relatif terhadap direktori output khusus konfigurasi dan/atau platform) dari item, termasuk nama file. Ini menghormati Link metadata, jika disediakan. Jika TargetPath tidak disediakan, target akan dihitung selama proses build. Lihat AssignTargetPath.

Tidak

Mewakili file yang seharusnya tidak memiliki peran dalam proses build.

Nama metadata item Deskripsi
DependentUpon String opsional. Menentukan file yang bergantung pada file ini untuk dikompilasi dengan benar.
Generator String opsional. Nama generator file yang dijalankan pada item ini.
LastGenOutput String opsional. Nama file yang dibuat oleh generator file yang berjalan pada item ini.
CustomToolNamespace String opsional. Namespace layanan di mana generator file yang berjalan pada item ini harus membuat kode.
Tautan String opsional. Jalur notasi yang akan ditampilkan jika file secara fisik terletak di luar pengaruh proyek.
Dapat dilihat Boolean opsional. Menunjukkan apakah akan menampilkan file di Penjelajah Solusi di Visual Studio.
CopyToOutputDirectory String opsional. Menentukan apakah akan menyalin file ke direktori output. Nilainya adalah:

1. Tidak pernah
2. Selalu
3. PreserveNewest

AssemblyMetadata

Mewakili atribut rakitan yang akan dibuat sebagai [AssemblyMetadata(key, value)].

Nama metadata item Deskripsi
Memasukkan Menjadi parameter pertama (kunci) dalam konstruktor atribut AssemblyMetadataAttribute.
Nilai String yang diperlukan. Menjadi parameter kedua (nilai) dalam konstruktor atribut AssemblyMetadataAttribute.

Catatan

Item ini berlaku untuk proyek yang menggunakan SDK untuk .NET 5 (dan .NET Core) dan versi yang lebih baru.

InternalsVisibleTo

Menentukan rakitan yang akan dipancarkan sebagai atribut rakitan [InternalsVisibleTo(..)].

Nama metadata item Deskripsi
Memasukkan Nama rakitan.
Kunci String opsional. Kunci umum rakitan.

Catatan

Item ini berlaku untuk proyek yang menggunakan SDK untuk .NET 5 (dan .NET Core) dan versi yang lebih baru.

BaseApplicationManifest

Mewakili manifes aplikasi dasar untuk build, dan berisi informasi keamanan penyebaran ClickOnce.

CodeAnalysisImport

Mewakili proyek FxCop yang akan diimpor.

Impor

Mewakili rakitan yang namespace layanannya harus diimpor oleh pengompilasi Visual Basic.

Folder

Elemen ini hanya digunakan oleh Visual Studio sebagai tempat penampung untuk folder kosong. Ketika folder diisi, folder digantikan oleh elemen lain.

Lihat juga