Typowe elementy projektu 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.
Reference
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. |
Nazwa | 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. |
Prywatny | 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 | Ciąg opcjonalny. Nazwa wyświetlana składnika. |
Guid | Wymagany ciąg. Identyfikator GUID składnika w formularzu {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. |
Identyfikator 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 |
Odizolowany | Opcjonalna wartość logiczna. Określa, czy składnik jest składnikiem bez reg. |
COMFileReference
Reprezentuje listę bibliotek typów, które są przekazywane do parametru TypeLibFiles
ResolveComReference elementu docelowego. 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 | 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 odwołania elementów docelowych ResolveProjectReferences
, więc wszelkie prawidłowe metadane odwołania mogą być prawidłowe w ProjectReference
, jeśli proces przekształcania go nie zastąpi.
Nazwa metadanych elementu | Opis |
---|---|
Nazwa | Ciąg opcjonalny. Nazwa wyświetlana odwołania. |
GlobalPropertiesToRemove | Opcjonalne string[] . Nazwy właściwości do usunięcia podczas kompilowania przywoływnego projektu, na przykład RuntimeIdentifier;PackOnBuild . Wartości domyślne są puste. |
Projekt | Ciąg opcjonalny. Identyfikator GUID odwołania w formularzu {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łanie tego projektu, ale nadal zapewnia, że inne kompilacje projektu będą kompilowane przed tym projektem. Wartość domyślna to true . |
Prywatny | 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ść globalną Configuration dla przywołytowanego projektu, na przykład Configuration=Release . |
SetPlatform | Ciąg opcjonalny. Ustawia właściwość globalną Platform dla przywołytowanego projektu, na przykład Platform=AnyCPU . |
SetTargetFramework | Ciąg opcjonalny. Ustawia właściwość globalną TargetFramework dla przywołytowanego projektu, na przykład TargetFramework=netstandard2.0 . |
SkipGetTargetFrameworkProperties | Opcjonalna wartość logiczna. Jeśli true , kompiluje przywołyny projekt bez negocjowania najbardziej zgodnej wartości TargetFramework . Wartość domyślna to false . |
Cele | Opcjonalne string[] . 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. Podczas kompilowania w programie Visual Studio (w przeciwieństwie do MSBuild.exe lub dotnet build ) określenie tego elementu nie uniemożliwia programowi Visual Studio kompilowania domyślnych elementów docelowych projektu, do których się odwołujesz. |
Nuta
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.
Kompilować
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. |
Łącze | Ciąg opcjonalny. Ścieżka notacyjna, która ma być wyświetlana, gdy plik znajduje się fizycznie poza wpływem pliku projektu. |
Widoczny | Opcjonalna wartość logiczna. Wskazuje, czy plik ma być wyświetlany w Eksploratorze 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 4. IfDifferent |
EmbeddedResource
Reprezentuje zasoby, które mają być osadzone w wygenerowanych zestawach.
Nazwa metadanych elementu | Opis |
---|---|
Kultura | Ciąg opcjonalny. Określa kulturę pliku zasobu. Jeśli zostanie określony, proces kompilacji nie wywnioskuje automatycznie kultury na podstawie rozszerzenia pliku (który jest zależny od kultur dostępnych dla platformy .NET/OS na maszynie obsługującej kompilację). Ustawienie metadanych Culture={culture identifier} lub WithCulture=false jest zdecydowanie zalecane. |
WithCulture | Opcjonalny bool. Określa, że plik jest neutralny dla kultury, a wykrywanie kultury przez AssignCulture zadanie powinno zostać pominięte. Ustawienie metadanych Culture={culture identifier} lub WithCulture=false jest zdecydowanie zalecane. |
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. |
Łącze | Ciąg opcjonalny. Ścieżka notacyjna jest wyświetlana, jeśli plik znajduje się fizycznie poza wpływem projektu. |
Widoczny | Opcjonalna wartość logiczna. Wskazuje, czy plik ma być wyświetlany w Eksploratorze 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 4. IfDifferent |
Nazwa logiczna | 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. |
Łącze | 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 -Wykluczone -Datafile -Warunek wstępny |
IsAssembly | Opcjonalna wartość logiczna. Określa, czy plik jest zestawem. |
Widoczny | Opcjonalna wartość logiczna. Wskazuje, czy plik ma być wyświetlany w Eksploratorze 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 4. IfDifferent |
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. |
Żaden
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. |
Łącze | Ciąg opcjonalny. Ścieżka notacyjna do wyświetlenia, jeśli plik znajduje się fizycznie poza wpływem projektu. |
Widoczny | Opcjonalna wartość logiczna. Wskazuje, czy plik ma być wyświetlany w Eksploratorze 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 4. IfDifferent |
AssemblyMetadata
Reprezentuje atrybuty zestawu do wygenerowania jako [AssemblyMetadata(key, value)]
.
Nazwa metadanych elementu | Opis |
---|---|
Zawierać | Staje się pierwszym parametrem (kluczem) w konstruktorze atrybutu AssemblyMetadataAttribute . |
Wartość | Wymagany ciąg. Staje się drugim parametrem (wartością) w konstruktorze atrybutu AssemblyMetadataAttribute . |
Nuta
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(..)]
atrybutów zestawu.
Nazwa metadanych elementu | Opis |
---|---|
Zawierać | Nazwa zestawu. |
Klucz | Ciąg opcjonalny. Klucz publiczny zestawu. |
Nuta
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.
Import
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.