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.
Tato stránka je odkazem na vlastnosti a položky nástroje MSBuild, které slouží ke konfiguraci projektů Windows Forms (WinForms) a Windows Presentation Foundation (WPF) pomocí sady .NET Desktop SDK.
Poznámka:
Tento článek dokumentuje podmnožinu vlastností NÁSTROJE MSBuild pro sadu .NET SDK, protože souvisí s desktopovou aplikací. Seznam běžných vlastností MSBuild specifických pro sadu .NET SDK naleznete v referenčních informacích k nástroji MSBuild pro projekty sady .NET SDK. Seznam běžných vlastností nástroje MSBuild naleznete v části Společné vlastnosti nástroje MSBuild.
Povolení sady .NET Desktop SDK
Chcete-li použít WinForms nebo WPF, zadejte následující nastavení v souboru projektu WinForms nebo WPF projektu:
- Cílení na sadu .NET SDK
Microsoft.NET.SdkDalší informace najdete v tématu Soubory projektu. - Nastavte
TargetFrameworkna moniker cílové architektury specifické pro Windows, napříkladnet8.0-windows. - V případě potřeby přidejte vlastnost architektury uživatelského rozhraní (nebo obojí):
- Nastavte
UseWPFnatrueimport a použití WPF. - Nastavte
UseWindowsFormsnatrueimport a použití WinForms.
- Nastavte
- (Volitelné) Nastavit
OutputTypenaWinExehodnotu . Toto nastavení vytvoří aplikaci na rozdíl od knihovny. Chcete-li vytvořit knihovnu, vynecháte tuto vlastnost.
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>net8.0-windows</TargetFramework>
<UseWPF>true</UseWPF>
<!-- and/or -->
<UseWindowsForms>true</UseWindowsForms>
</PropertyGroup>
</Project>
Výchozí nastavení WPF zahrnuje a vylučuje
Projekty sady SDK definují sadu pravidel pro implicitní zahrnutí nebo vyloučení souborů z projektu. Tato pravidla také automaticky nastavují akci sestavení souboru. Toto chování je na rozdíl od starších projektů .NET Framework, které nemají výchozí zahrnutí nebo vyloučení pravidel. Projekty rozhraní .NET Framework vyžadují explicitní deklaraci souborů, které mají být zahrnuty do projektu.
Soubory projektu .NET obsahují standardní sadu pravidel pro automatické zpracování souborů. Projekty WPF přidávají další pravidla.
Následující tabulka ukazuje, které prvky a globy jsou zahrnuty a vyloučeny v sadě .NET Desktop SDK, pokud UseWPF je vlastnost projektu nastavena na true:
| Element (Prvek) | Zahrnout glob | Vyloučení globu | Odebrání globu |
|---|---|---|---|
| ApplicationDefinition | App.xaml nebo Application.xaml | – | – |
| Page | **/*.xaml | **/*.uživatel; **/*.*proj; **/*.sln(x); **/*.vssscc Libovolný KÓD XAML definovaný pomocí ApplicationDefinition |
– |
| None | – | – | **/*.xaml |
Tady je výchozí nastavení zahrnutí a vyloučení pro všechny typy projektů. Další informace naleznete v tématu Výchozí zahrnutí a vyloučení.
| Element (Prvek) | Zahrnout glob | Vyloučení globu | Odebrání globu |
|---|---|---|---|
| Compile | **/*.Cs; **/*.vb (nebo jiná jazyková rozšíření) | **/*.uživatel; **/*.*proj; **/*.sln(x); **/*.vssscc | – |
| EmbeddedResource | **/*.resx | **/*.uživatel; **/*.*proj; **/*.sln(x); **/*.vssscc | – |
| None | **/* | **/*.uživatel; **/*.*proj; **/*.sln(x); **/*.vssscc | **/*.Cs; **/*.resx |
Chyby související s duplicitními položkami
Pokud jste do projektu explicitně přidali soubory nebo máte globy XAML k automatickému zahrnutí souborů do projektu, může se zobrazit jedna z následujících chyb:
- ApplicationDefinitionByly zahrnuty duplicitní položky '.
- PageByly zahrnuty duplicitní položky '.
Tyto chyby jsou výsledkem implicitního konfliktu mezi globálními globy, které jsou v konfliktu s nastavením. Chcete-li tento problém vyřešit, nastavte buď EnableDefaultApplicationDefinition nebo EnableDefaultPageItems na false. Nastavením těchto hodnot se vrátíte k false chování předchozích sad SDK, kde jste museli explicitně definovat výchozí globy nebo soubory, které se mají zahrnout do projektu.
Všechny implicitní zahrnutí můžete úplně zakázat nastavením EnableDefaultItems vlastnosti na falsehodnotu .
Nastavení WPF
Informace o nastavení projektu specifickém pro WPF naleznete v referenčních informacích nástroje MSBuild pro projekty sady .NET SDK.
UseWPF
Vlastnost UseWPF určuje, zda zahrnout odkazy na knihovny WPF. Toto nastavení také změní kanál MSBuild tak, aby správně zpracovával projekt WPF a související soubory. Výchozí hodnota je false.
UseWPF Nastavte vlastnost na true povolení podpory WPF. Tuto vlastnost můžete cílit pouze na platformu Windows, pokud je tato vlastnost povolená.
<PropertyGroup>
<UseWPF>true</UseWPF>
</PropertyGroup>
Pokud je tato vlastnost nastavena na true, projekty .NET automaticky importuje sadu .NET Desktop SDK.
EnableDefaultApplicationDefinition
Vlastnost EnableDefaultApplicationDefinition určuje, zda ApplicationDefinition jsou položky implicitně zahrnuty do projektu. Výchozí hodnota je true.
EnableDefaultApplicationDefinition Nastavte vlastnost tak, aby false zakázala implicitní zahrnutí souboru.
<PropertyGroup>
<EnableDefaultApplicationDefinition>false</EnableDefaultApplicationDefinition>
</PropertyGroup>
Tato vlastnost vyžaduje, aby EnableDefaultItems byla vlastnost nastavena na true, což je výchozí nastavení.
EnableDefaultPageItems
Vlastnost EnableDefaultPageItems řídí, zda Page položky, které jsou soubory .xaml , jsou implicitně zahrnuty do projektu. Výchozí hodnota je true.
EnableDefaultPageItems Nastavte vlastnost tak, aby false zakázala implicitní zahrnutí souboru.
<PropertyGroup>
<EnableDefaultPageItems>false</EnableDefaultPageItems>
</PropertyGroup>
Tato vlastnost vyžaduje, aby EnableDefaultItems byla vlastnost nastavena na true, což je výchozí nastavení.
nastavení model Windows Forms
- ApplicationDefaultFont
- ApplicationHighDpiMode
- ApplicationUseCompatibleTextRendering
- ApplicationVisualStyles
- UseWindowsForms
Informace o vlastnostech projektu specifických pro jiné než WinForms naleznete v tématu Referenční informace nástroje MSBuild pro projekty .NET SDK.
ApplicationDefaultFont
Vlastnost ApplicationDefaultFont určuje vlastní informace o písmu, které se mají použít pro celou aplikaci. Určuje, jestli zdrojové vygenerované ApplicationConfiguration.Initialize() rozhraní API generuje volání Application.SetDefaultFont(Font) metody.
Výchozí hodnota je prázdný řetězec a znamená to, že výchozí písmo aplikace je zdroj z Control.DefaultFont vlastnosti.
Neprázdná hodnota musí odpovídat formátu, který odpovídá výstupu metody vyvolané FontConverter.ConvertTo verzí (to znamená oddělovač seznamu = a oddělovač desetinných míst=,).. Formát je: name, size[units[, style=style1[, style2, ...]]].
<PropertyGroup>
<ApplicationDefaultFont>Calibri, 11pt, style=regular</ApplicationDefaultFont>
</PropertyGroup>
Tato vlastnost je podporována rozhraním .NET 6 a novějšími verzemi a sadou Visual Studio 2022 a novějšími verzemi.
ApplicationHighDpiMode
Vlastnost ApplicationHighDpiMode určuje výchozí nastavení celé aplikace pro režim vysokého DPI. Řídí argument Application.SetHighDpiMode(HighDpiMode) metody generované zdrojovým vygenerovaným ApplicationConfiguration.Initialize() rozhraním API.
Výchozí hodnota je SystemAware.
<PropertyGroup>
<ApplicationHighDpiMode>PerMonitorV2</ApplicationHighDpiMode>
</PropertyGroup>
Lze ApplicationHighDpiMode nastavit na jednu z hodnot výčtu HighDpiMode :
| Hodnota | Popis |
|---|---|
DpiUnaware |
Okno aplikace nemění měřítko změn DPI a vždy předpokládá měřítko 100 %. |
DpiUnawareGdiScaled |
DpiUnawarePodobá se tomu, ale zlepšuje kvalitu obsahu založeného na GDI/GDI+. |
PerMonitor |
Okno kontroluje DPI při vytváření a upravuje faktor měřítka při změně DPI. |
PerMonitorV2 |
PerMonitorPodobně jako v případě , ale umožňuje oznámení o změně DPI podřízeného okna, vylepšené škálování ovládacích prvků comctl32 a škálování dialogů. |
SystemAware |
Výchozí, pokud není zadáno. Okno se dotazuje na DPI primárního monitoru jednou a použije tuto hodnotu pro aplikaci na všech monitorech. |
Tato vlastnost je podporována rozhraním .NET 6 a novějšími verzemi.
ApplicationUseCompatibleTextRendering
Vlastnost ApplicationUseCompatibleTextRendering určuje výchozí nastavení pro celou aplikaci pro vlastnost definovanou UseCompatibleTextRendering v určitých ovládacích prvcích. Řídí argument Application.SetCompatibleTextRenderingDefault(Boolean) metody generované zdrojovým vygenerovaným ApplicationConfiguration.Initialize() rozhraním API.
Výchozí hodnota je false.
<PropertyGroup>
<ApplicationUseCompatibleTextRendering>true</ApplicationUseCompatibleTextRendering>
</PropertyGroup>
Tato vlastnost je podporována rozhraním .NET 6 a novějšími verzemi.
ApplicationVisualStyles
Vlastnost ApplicationVisualStyles určuje výchozí nastavení celé aplikace pro povolení vizuálních stylů. Řídí, zda zdrojové generované ApplicationConfiguration.Initialize() rozhraní API generuje volání Application.EnableVisualStyles().
Výchozí hodnota je true.
<PropertyGroup>
<ApplicationVisualStyles>true</ApplicationVisualStyles>
</PropertyGroup>
Tato vlastnost je podporována rozhraním .NET 6 a novějšími verzemi.
UseWindowsForms
Vlastnost UseWindowsForms určuje, jestli je aplikace vytvořená tak, aby cílila na model Windows Forms. Tato vlastnost změní kanál MSBuild tak, aby správně zpracovával model Windows Forms projekt a související soubory. Výchozí hodnota je false.
UseWindowsForms Nastavte vlastnost tak, aby true povolte podporu model Windows Forms. Na platformu Windows můžete cílit jenom v případě, že je toto nastavení povolené.
<PropertyGroup>
<UseWindowsForms>true</UseWindowsForms>
</PropertyGroup>
Pokud je tato vlastnost nastavena na true, projekty .NET automaticky importuje sadu .NET Desktop SDK.