Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Následující možnosti řídí generování výstupu kompilátoru.
| MSBuild | csc.exe | Popis |
|---|---|---|
| DocumentationFile | -doc: |
Vygenerujte soubor dokumentace XML z /// komentářů. |
| OutputAssembly | -out: |
Zadejte výstupní soubor sestavení. |
| PlatformTarget | -platform: |
Zadejte procesor cílové platformy. |
| ProduceReferenceAssembly | -refout: |
Vygenerujte referenční sestavení. |
| OutputType | -target: |
Zadejte typ výstupního sestavení. |
Poznámka:
Další informace o konfiguraci těchto možností pro váš projekt najdete v možnostech kompilátoru.
DocumentationFile
Možnost DocumentationFile umožňuje umístit komentáře dokumentace do souboru XML. Další informace o dokumentování kódu najdete v tématu Doporučené značky pro komentáře dokumentace. Hodnota určuje cestu k výstupnímu souboru XML. Soubor XML obsahuje komentáře v souborech zdrojového kódu kompilace.
<DocumentationFile>path/to/file.xml</DocumentationFile>
Soubor zdrojového kódu, který obsahuje příkazy main nebo nejvyšší úrovně, je výstupem nejprve do XML. Vygenerovaný soubor .xml budete často chtít používat s IntelliSense. Název souboru .xml musí být stejný jako název sestavení. Soubor .xml musí být ve stejném adresáři jako sestavení. Při odkazování na sestavení v projektu sady Visual Studio se také najde soubor .xml . Další informace o generování komentářů ke kódu naleznete v tématu Zadávání komentářů ke kódu. Pokud ho zkompilujete <OutputType:module>, file bude obsahovat <assembly> a </assembly> značky určující název souboru obsahujícího manifest sestavení pro výstupní soubor. Příklady najdete v tématu Použití funkcí dokumentace XML.
Poznámka:
Možnost DocumentationFile se vztahuje na všechny soubory v projektu. Pokud chcete zakázat upozornění související s komentáři dokumentace pro konkrétní soubor nebo část kódu, použijte #pragma upozornění.
Tuto možnost lze použít v libovolném projektu ve stylu sady .NET SDK. Další informace naleznete v části DocumentationFile vlastnost.
OutputAssembly
Možnost OutputAssembly určuje název výstupního souboru. Tato možnost odpovídá kombinaci OutputPath vlastností a AssemblyName vlastností NÁSTROJE MSBuild, které řídí umístění kompilovaného sestavení a jeho název.
<OutputPath>bin\Debug\</OutputPath>
<AssemblyName>MyApplication</AssemblyName>
Zadejte název a příponu souboru, který chcete vytvořit. Cesta může být relativní nebo absolutní. Pokud nezadáte název výstupního souboru, nástroj MSBuild použije název projektu k zadání názvu výstupního sestavení. Staré projekty stylu používají následující pravidla:
- .exe převezme jeho název ze souboru zdrojového kódu, který obsahuje metodu
Mainnebo příkazy nejvyšší úrovně. - .dll nebo .netmodule převezme jeho název z prvního souboru zdrojového kódu.
Všechny moduly vytvořené jako součást kompilace se stanou soubory přidružené k libovolnému sestavení vytvořenému také v kompilaci. Pomocí ildasm.exe zobrazte manifest sestavení a zobrazte přidružené soubory.
Možnost outputAssembly kompilátoru je vyžadována, aby exe byl cílem přátelského sestavení.
PlatformTarget
Určuje, která verze modulu CLR může spustit sestavení.
<PlatformTarget>anycpu</PlatformTarget>
- anycpu (výchozí) zkompiluje sestavení tak, aby bylo spuštěno na libovolné platformě. Aplikace běží jako 64bitový proces, kdykoli je to možné, a vrátí se zpět na 32bitovou verzi, pokud je k dispozici pouze tento režim.
- anycpu32bitpreferred zkompiluje sestavení tak, aby bylo spuštěno na libovolné platformě. Vaše aplikace běží v 32bitovém režimu v systémech, které podporují 64bitové i 32bitové aplikace. Tuto možnost můžete zadat pouze pro projekty, které cílí na rozhraní .NET Framework 4.5 nebo novější.
- ARM zkompiluje sestavení tak, aby běželo na počítači s procesorem ARM (Advanced RISC Machine).
- ARM64 zkompiluje sestavení tak, aby běželo 64bitovým CLR na počítači s procesorem ARM (Advanced RISC Machine), který podporuje instrukční sadu A64.
- x64 zkompiluje sestavení tak, aby bylo spuštěno 64bitovým CLR v počítači, který podporuje instrukční sadu AMD64 nebo EM64T.
- x86 zkompiluje sestavení tak, aby bylo spuštěno 32bitovým clr kompatibilním s x86.
- Itanium zkompiluje sestavení tak, aby bylo spuštěno 64bitovým CLR v počítači s procesorem Itanium.
V 64bitovém operačním systému Windows:
- Sestavení zkompilovaná pomocí x86 se spouští v 32bitovém modulu CLR spuštěném pod WOW64.
- Knihovna DLL zkompilovaná s libovolným procesorem se spustí ve stejném CLR jako proces, do kterého je načten.
- Spustitelné soubory kompilované pomocí anycpu se spouští v 64bitovém modulu CLR.
- Spustitelné soubory zkompilované pomocí příkazu anycpu32bitpreferred se spustí na 32bitovém modulu CLR.
Nastavení anycpu32bitpreferred je platné pouze pro spustitelné soubory (.EXE) a vyžaduje rozhraní .NET Framework 4.5 nebo novější. Další informace o vývoji aplikace pro spuštění v 64bitovém operačním systému Windows naleznete v 64bitových aplikacích.
Nastavte možnost PlatformTarget ze stránky Vlastností sestavení pro váš projekt v sadě Visual Studio.
Chování libovolného procesoru má některé další nuance v .NET Core a .NET 5 a novějších verzích. Když nastavíte libovolný procesor, publikujte aplikaci a spusťte ji pomocí x86 dotnet.exe nebo x64 dotnet.exe. V případě samostatných aplikací dotnet publish tento krok zabalí spustitelný soubor pro nakonfigurovaný identifikátor RID.
ProduceReferenceAssembly
Možnost ProduceReferenceAssembly řídí, zda kompilátor vytváří referenční sestavení.
<ProduceReferenceAssembly>true</ProduceReferenceAssembly>
Referenční sestavení jsou speciálním typem sestavení, které obsahuje pouze minimální množství metadat potřebných k reprezentaci veřejného rozhraní API knihovny. Zahrnují deklarace pro všechny členy, které jsou významné při odkazování na sestavení v nástrojích sestavení. Referenční sestavení vylučují všechny implementace členů a deklarace soukromých členů. Tito členové nemají pozorovatelný dopad na kontrakt rozhraní API. Další informace naleznete v tématu Referenční sestavení v příručce .NET.
Možnosti ProduceReferenceAssembly a ProduceOnlyReferenceAssembly se vzájemně vylučují.
Obecně nemusíte pracovat přímo s referenčními soubory sestavení. Ve výchozím nastavení jsou referenční sestavení generována v ref podsložce zprostředkující cesty (tj. obj/ref/). Pokud je chcete vygenerovat v rámci výstupního adresáře (tj. bin/ref/) nastaveného ProduceReferenceAssemblyInOutDir v true projektu.
.NET SDK 6.0.200 provedl změnu, která ve výchozím nastavení přesunula referenční sestavení z výstupního adresáře do zprostředkujícího adresáře.
OutputType
Možnost kompilátoru OutputType lze zadat v jednom z následujících formulářů:
- knihovna: vytvoření knihovny kódu. knihovna je výchozí hodnota.
- exe: vytvoření .exe souboru.
- modul pro vytvoření modulu.
- winexe k vytvoření programu pro Windows.
- winmdobj pro vytvoření přechodného souboru .winmdobj .
- appcontainerexe pro vytvoření souboru .exe pro aplikace pro Windows 8.x Store.
Poznámka:
Pro cíle rozhraní .NET Framework, pokud nezadáte modul, tato možnost způsobí umístění manifestu sestavení rozhraní .NET Framework do výstupního souboru. Další informace naleznete v tématu Sestavení v .NET a běžné atributy.
<OutputType>library</OutputType>
Kompilátor vytvoří na kompilaci pouze jeden manifest sestavení. Informace o všech souborech v kompilaci jsou umístěny v manifestu sestavení. Při vytváření více výstupních souborů na příkazovém řádku lze vytvořit pouze jeden manifest sestavení a musí jít do prvního výstupního souboru zadaného na příkazovém řádku.
Pokud vytváříte sestavení, můžete označit, že veškerý kód nebo jeho část je kompatibilní s atributem CLSCompliantAttribute CLS.
knihovna
Možnost knihovny způsobí, že kompilátor vytvoří dynamickou knihovnu (DLL) místo spustitelného souboru (EXE). Knihovna DLL bude vytvořena s rozšířením .dll . Pokud není zadáno jinak s možností OutputAssembly , název výstupního souboru přebírá název prvního vstupního souboru. Při vytváření se nevyžaduje metoda.
exe
Možnost exe způsobí, že kompilátor vytvoří spustitelný soubor (EXE), konzolovou aplikaci. Spustitelný soubor se vytvoří s příponou .exe. Použijte winexe k vytvoření spustitelného souboru programu systému Windows. Pokud není zadáno jinak s možností OutputAssembly , název výstupního souboru přebírá název vstupního souboru, který obsahuje vstupní bod (metoda Main nebo příkazy nejvyšší úrovně). Jeden a pouze jeden vstupní bod je vyžadován v souborech zdrojového kódu, které jsou zkompilovány do .exe souboru. Možnost kompilátoru StartupObject umožňuje určit, která třída obsahuje metodu Main v případech, kdy váš kód má více než jednu třídu s metodou Main .
modul
Tato možnost způsobí, že kompilátor negeneruje manifest sestavení. Ve výchozím nastavení bude výstupní soubor vytvořený kompilací s touto možností mít příponu .netmodule. Soubor, který nemá manifest sestavení, nelze načíst modulem runtime .NET. Takový soubor však lze začlenit do manifestu sestavení sestavení s AddModules. Pokud se v jedné kompilaci vytvoří více než jeden modul, budou interní typy v jednom modulu k dispozici pro ostatní moduly v kompilaci. Pokud kód v jednom modulu odkazuje na internal typy v jiném modulu, musí být oba moduly začleněny do manifestu sestavení s AddModules. Vytvoření modulu není podporováno ve vývojovém prostředí sady Visual Studio.
winexe
Možnost winexe způsobí, že kompilátor vytvoří spustitelný soubor (EXE), program Systému Windows. Spustitelný soubor se vytvoří s příponou .exe. Program windows je program, který poskytuje uživatelské rozhraní z knihovny .NET nebo s rozhraními API systému Windows. Pomocí exe vytvořte konzolovou aplikaci. Pokud není zadáno jinak s outputAssembly možnost, název výstupního souboru přebírá název vstupního souboru, který obsahuje metodu Main . V souborech zdrojového kódu, které jsou zkompilovány do souboru .exe, je vyžadována pouze jedna Main metoda. Možnost StartupObject umožňuje určit, která třída obsahuje metodu Main v případech, kdy má váš kód více než jednu třídu s metodou Main .
winmdobj
Pokud použijete možnost winmdobj, kompilátor vytvoří zprostředkující soubor .winmdobj, který můžete převést na binární soubor prostředí Windows Runtime (.winmd). Soubor .winmd pak může využívat javascriptové a C++ programy kromě spravovaných jazykových programů.
Signály nastavení winmdobj kompilátoru, který vyžaduje zprostředkující modul. Soubor .winmdobj pak můžete generovat pomocí WinMDExp nástroje pro export a vytvořit soubor metadat systému Windows (.winmd). Soubor .winmd obsahuje kód z původní knihovny i metadata WinMD, která používají JavaScript nebo C++ a prostředí Windows Runtime. Výstup souboru kompilovaného pomocí možnosti kompilátoru winmdobj se používá pouze jako vstup pro nástroj pro export WimMDExp. Samotný soubor .winmdobj není přímo odkazován. Pokud nepoužíváte možnost OutputAssembly , název výstupního souboru přebírá název prvního vstupního souboru. Metoda Main není nutná.
appcontainerexe
Pokud použijete možnost kompilátoru appcontainerexe , kompilátor vytvoří spustitelný soubor windows (.exe), který se musí spustit v kontejneru aplikace. Tato možnost je ekvivalentní parametru -target:winexe , ale je určená pro aplikace pro Windows 8.x Store.
Pokud chcete, aby aplikace běžela v kontejneru aplikace, nastaví tato možnost bit v souboru Portable Executable (PE). Pokud je tato bit nastavena, dojde k chybě, pokud se metoda CreateProcess pokusí spustit spustitelný soubor mimo kontejner aplikace. Pokud nepoužíváte možnost OutputAssembly , název výstupního souboru přebírá název vstupního souboru, který obsahuje metodu Main .