Wspólne elementy projektów MSBuild

W programie MSBuild element jest nazwanym odwołaniem do co najmniej jednego pliku. Elementy zawierają metadane, takie jak nazwy plików, ścieżki i numery wersji. Wszystkie typy projektów w programie Visual Studio mają kilka wspólnych elementów. Te elementy są zdefiniowane w pliku Microsoft.Build.CommonTypes.xsd.

W tym artykule wymieniono wszystkie typowe elementy projektu.

Odwołanie

Reprezentuje odwołanie do zestawu (zarządzanego) w projekcie.

Nazwa metadanych elementu opis
HintPath Ciąg opcjonalny. Względna lub bezwzględna ścieżka zestawu.
Nazwisko Ciąg opcjonalny. Nazwa wyświetlana zestawu, na przykład "System.Windows.Forms".
FusionName Ciąg opcjonalny. Określa prostą lub silną nazwę łączenia elementu.

Gdy ten atrybut jest obecny, może zaoszczędzić czas, ponieważ plik zestawu nie musi być otwarty, aby uzyskać nazwę łączenia.
Określona wersja Opcjonalna wartość logiczna. Określa, czy należy odwoływać się tylko do wersji w nazwie łączenia.
Aliasy Ciąg opcjonalny. Wszystkie aliasy odwołania.
Prywatne Opcjonalna wartość logiczna. Określa, czy odwołanie powinno zostać skopiowane do folderu wyjściowego. Ten atrybut jest zgodny z właściwością Copy Local odwołania w środowisku IDE programu Visual Studio.

COMReference

Reprezentuje odwołanie do składnika COM (niezarządzanego) w projekcie. Ten element ma zastosowanie tylko do projektów .NET.

Nazwa metadanych elementu opis
Nazwa/nazwisko Ciąg opcjonalny. Nazwa wyświetlana składnika.
Identyfikator GUID Wymagany ciąg. Identyfikator GUID składnika w postaci {12345678-1234-1234-1234-123456781234}.
VersionMajor Wymagany ciąg. Główna część numeru wersji składnika. Na przykład "5", jeśli pełny numer wersji to "5.46".
VersionMinor Wymagany ciąg. Pomocnicza część numeru wersji składnika. Na przykład "46", jeśli pełny numer wersji to "5.46".
EmbedInteropTypes Opcjonalna wartość logiczna. Jeśli wartość true, osadź typy międzyoperacyjności z tego odwołania bezpośrednio do zestawu, a nie generując biblioteki DLL międzyoperacyjności.
Lcid Ciąg opcjonalny. LocaleID składnika.
OtokaTool Ciąg opcjonalny. Nazwa narzędzia otoki używanego w składniku. Wartości to:

1. podstawowy
2. tlbimp
3. primaryortlbimp
4. aximp
Izolowana Opcjonalna wartość logiczna. Określa, czy składnik jest składnikiem bez reg.

COMFileReference

Reprezentuje listę bibliotek typów, które są przekazywane do TypeLibFiles parametru obiektu docelowego ResolveComReference . Ten element ma zastosowanie tylko do projektów .NET.

Nazwa metadanych elementu opis
OtokaTool Ciąg opcjonalny. Nazwa narzędzia otoki używanego w składniku. Wartości to:

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

NativeReference

Reprezentuje natywny plik manifestu lub odwołanie do takiego pliku.

Nazwa metadanych elementu opis
Nazwa/nazwisko Wymagany ciąg. Nazwa podstawowa pliku manifestu.
HintPath Wymagany ciąg. Względna ścieżka pliku manifestu.

Wnioskowanie projektu

Reprezentuje odwołanie do innego projektu. ProjectReference elementy są przekształcane w elementy referencyjne przez ResolveProjectReferences element docelowy, więc wszystkie prawidłowe metadane w odwołaniu mogą być prawidłowe w ProjectReferencedniu , jeśli proces przekształcania go nie zastępuje.

Nazwa metadanych elementu opis
Nazwa/nazwisko Ciąg opcjonalny. Nazwa wyświetlana odwołania.
GlobalPropertiesToRemove Opcjonalnystring[]. Nazwy właściwości do usunięcia podczas kompilowania przywołytowanego projektu, na przykład RuntimeIdentifier;PackOnBuild. Wartości domyślne są puste.
Projekt Ciąg opcjonalny. Identyfikator GUID odwołania w postaci {12345678-1234-1234-1234-123456781234}.
OutputItemType Ciąg opcjonalny. Typ elementu do emitowania docelowych danych wyjściowych. Wartość domyślna jest pusta. Jeśli metadane odwołania są ustawione na wartość "true" (wartość domyślna), docelowe dane wyjściowe staną się odwołaniami do kompilatora.
ReferenceOutputAssembly Opcjonalna wartość logiczna. Jeśli ustawiono wartość false, nie zawiera danych wyjściowych przywołynego projektu jako odwołania do tego projektu, ale nadal zapewnia, że inne kompilacje projektu będą kompilowane przed tym projektem. Wartość domyślna to true.
Prywatne Opcjonalna wartość logiczna. Określa, czy odwołanie powinno zostać skopiowane do folderu wyjściowego. Ten atrybut jest zgodny z właściwością Copy Local odwołania w środowisku IDE programu Visual Studio.
SetConfiguration Ciąg opcjonalny. Ustawia właściwość Configuration globalną dla przywołytowanego projektu, na przykład Configuration=Release.
SetPlatform Ciąg opcjonalny. Ustawia właściwość Platform globalną dla przywołytowanego projektu, na przykład Platform=AnyCPU.
SetTargetFramework Ciąg opcjonalny. Ustawia właściwość TargetFramework globalną dla przywołytowanego projektu, na przykład TargetFramework=netstandard2.0.
SkipGetTargetFrameworkProperties Opcjonalna wartość logiczna. Jeśli trueelement , kompiluje przywołyny projekt bez negocjowania najbardziej zgodnej TargetFramework wartości. Wartość domyślna to false.
Elementy docelowe Opcjonalnystring[]. Rozdzielona średnikami lista obiektów docelowych w projektach, do których należy utworzyć odwołanie. Wartość domyślna to wartość $(ProjectReferenceBuildTargets), która domyślnie ma wartość pustą, wskazującą domyślne obiekty docelowe.

Uwaga

Istnieje różnica między sposobem działania odwołań projektu między programem .NET Framework i platformą .NET Core (w tym platformą .NET 5 i nowszymi wersjami). W projektach .NET Framework odwołania do projektu nie są przechodnie. Oznacza to, że jeśli program Project1 odwołuje się do programu Project2 i Project2 odwołuje się do programu Project3, nie można kodować względem programu Project3 z programu Project1. Jednak w programie .NET Core (w tym .NET 5 lub nowszym) odwołania do projektu są przechodnie. Kod można wykonać względem programu Project3 w programie Project1.

Kompiluj

Reprezentuje pliki źródłowe kompilatora.

Nazwa metadanych elementu opis
Zależnaodpopowiedz Ciąg opcjonalny. Określa plik, który jest zależny od poprawnego kompilowania.
Autogen Opcjonalna wartość logiczna. Wskazuje, czy plik został wygenerowany dla projektu przez zintegrowane środowisko projektowe (IDE) programu Visual Studio.
Link Ciąg opcjonalny. Ścieżka notacyjna, która ma być wyświetlana, gdy plik znajduje się fizycznie poza wpływem pliku projektu.
Widoczna Opcjonalna wartość logiczna. Wskazuje, czy plik ma być wyświetlany w Eksplorator rozwiązań w programie Visual Studio.
CopyToOutputDirectory Ciąg opcjonalny. Określa, czy skopiować plik do katalogu wyjściowego. Wartości to:

1. Nigdy
2. Zawsze
3. ZachowajNowy

EmbeddedResource

Reprezentuje zasoby, które mają być osadzone w wygenerowanych zestawach.

Nazwa metadanych elementu opis
Zależnaodpopowiedz Ciąg opcjonalny. Określa plik, od który ten plik zależy od poprawnego skompilowania
Generator Ciąg opcjonalny. Nazwa dowolnego generatora plików uruchomionego w tym elemencie.
LastGenOutput Ciąg opcjonalny. Nazwa pliku, który został utworzony przez dowolny generator plików uruchomiony w tym elemencie.
CustomToolNamespace Ciąg opcjonalny. Przestrzeń nazw, w której każdy generator plików uruchomiony w tym elemencie powinien utworzyć kod.
Link Ciąg opcjonalny. Ścieżka notacyjna jest wyświetlana, jeśli plik znajduje się fizycznie poza wpływem projektu.
Widoczna Opcjonalna wartość logiczna. Wskazuje, czy plik ma być wyświetlany w Eksplorator rozwiązań w programie Visual Studio.
CopyToOutputDirectory Ciąg opcjonalny. Określa, czy skopiować plik do katalogu wyjściowego. Wartości to:

1. Nigdy
2. Zawsze
3. ZachowajNowy
LogicalName Wymagany ciąg. Nazwa logiczna osadzonego zasobu.

Zawartość

Reprezentuje pliki, które nie są kompilowane w projekcie, ale mogą być osadzone lub publikowane razem z nim.

Nazwa metadanych elementu opis
Zależnaodpopowiedz Ciąg opcjonalny. Określa plik, który jest zależny od poprawnego kompilowania.
Generator Ciąg opcjonalny. Nazwa dowolnego generatora plików uruchomionego w tym elemencie.
LastGenOutput Ciąg opcjonalny. Nazwa pliku, który został utworzony przez dowolny generator plików, który został uruchomiony w tym elemencie.
CustomToolNamespace Ciąg opcjonalny. Przestrzeń nazw, w której każdy generator plików uruchomiony w tym elemencie powinien utworzyć kod.
Link Ciąg opcjonalny. Ścieżka notacyjna do wyświetlenia, jeśli plik znajduje się fizycznie poza wpływem projektu.
PublishState Wymagany ciąg. Stan publikowania zawartości:

-Domyślny
-Zawarte
- xcluded
-Datafile
-Warunkiem wstępnym
IsAssembly Opcjonalna wartość logiczna. Określa, czy plik jest zestawem.
Widoczna Opcjonalna wartość logiczna. Wskazuje, czy plik ma być wyświetlany w Eksplorator rozwiązań w programie Visual Studio.
CopyToOutputDirectory Ciąg opcjonalny. Określa, czy skopiować plik do katalogu wyjściowego. Wartości to:

1. Nigdy
2. Zawsze
3. ZachowajNowy
Targetpath Ciąg opcjonalny. Ścieżka wyjściowa (względem katalogu wyjściowego specyficznego dla konfiguracji i/lub platformy) elementu, w tym nazwy pliku. Uwzględnia to metadane Link , jeśli zostały podane. Jeśli parametr TargetPath nie jest podany, jest obliczany podczas procesu kompilacji. Zobacz AssignTargetPath.

Brak

Reprezentuje pliki, które nie powinny mieć roli w procesie kompilacji.

Nazwa metadanych elementu opis
Zależnaodpopowiedz Ciąg opcjonalny. Określa plik, który jest zależny od poprawnego kompilowania.
Generator Ciąg opcjonalny. Nazwa dowolnego generatora plików uruchomionego w tym elemencie.
LastGenOutput Ciąg opcjonalny. Nazwa pliku, który został utworzony przez dowolny generator plików uruchomiony w tym elemencie.
CustomToolNamespace Ciąg opcjonalny. Przestrzeń nazw, w której każdy generator plików uruchomiony w tym elemencie powinien utworzyć kod.
Link Ciąg opcjonalny. Ścieżka notacyjna do wyświetlenia, jeśli plik znajduje się fizycznie poza wpływem projektu.
Widoczna Opcjonalna wartość logiczna. Wskazuje, czy plik ma być wyświetlany w Eksplorator rozwiązań w programie Visual Studio.
CopyToOutputDirectory Ciąg opcjonalny. Określa, czy skopiować plik do katalogu wyjściowego. Wartości to:

1. Nigdy
2. Zawsze
3. ZachowajNowy

AssemblyMetadata

Reprezentuje atrybuty zestawu, które mają być generowane jako [AssemblyMetadata(key, value)].

Nazwa metadanych elementu opis
Uwzględnij Staje się pierwszym parametrem (kluczem) w konstruktorze atrybutu AssemblyMetadataAttribute .
Wartość Wymagany ciąg. Staje się drugim parametrem (wartością) w konstruktorze atrybutu AssemblyMetadataAttribute .

Uwaga

Ten element dotyczy projektów korzystających z zestawu SDK dla platformy .NET 5 (i .NET Core) oraz nowszych wersji.

InternalsVisibleTo

Określa zestawy, które mają być emitowane jako [InternalsVisibleTo(..)] atrybuty zestawu.

Nazwa metadanych elementu opis
Uwzględnij Nazwa zestawu.
Klucz Ciąg opcjonalny. Klucz publiczny zestawu.

Uwaga

Ten element dotyczy projektów korzystających z zestawu SDK dla platformy .NET 5 (i .NET Core) oraz nowszych wersji.

BaseApplicationManifest

Reprezentuje podstawowy manifest aplikacji dla kompilacji i zawiera informacje o zabezpieczeniach wdrożenia Technologii ClickOnce.

CodeAnalysisImport

Reprezentuje projekt FxCop do zaimportowania.

Importuj

Reprezentuje zestawy, których przestrzenie nazw powinny być importowane przez kompilator języka Visual Basic.

Folder

Ten element jest używany tylko przez program Visual Studio jako symbol zastępczy pustego folderu. Po wypełnieniu folderu zostanie on zastąpiony przez inny element.

Zobacz też