ASP.NET Core Razor SDK
Autor: Rick Anderson
Přehled
Sada .NET 6.0 SDK obsahuje Microsoft.NET.Sdk.Razor
sadu MSBuild SDK (Razor SDK). Sada Razor SDK:
- Vyžaduje se k sestavení, zabalení a publikování projektů obsahujících Razor soubory pro ASP.NET základní MVC nebo Blazor projekty.
- Obsahuje sadu předdefinovaných vlastností a položky, které umožňují přizpůsobení kompilace Razor (
.cshtml
nebo.razor
) souborů.
Sada Razor SDK obsahuje Content
položky s Include
atributy nastavenými na **\*.cshtml
**\*.razor
vzory a vzory globbingu. Publikují se odpovídající soubory.
Požadavky
Razor Použití sady SDK
Většina webových aplikací nemusí explicitně odkazovat na Razor sadu SDK.
Pokud chcete sadu SDK použít Razor k vytváření knihoven tříd obsahujících Razor zobrazení nebo Razor stránky, doporučujeme začít se šablonou Razor projektu knihovny tříd (RCL). Seznam RCL, který se používá k sestavení Blazor (.razor
) souborů minimálně, vyžaduje odkaz na balíček Microsoft.AspNetCore.Components . Seznam RCL, který se používá k sestavení Razor zobrazení nebo stránek (.cshtml
souborů) minimálně vyžaduje cílení netcoreapp3.0
nebo novější a má FrameworkReference
v souboru projektu metapackage Microsoft.AspNetCore.App.
Vlastnosti
Chování sady SDK v rámci sestavení projektu řídí Razornásledující vlastnosti:
RazorCompileOnBuild
: Kdyžtrue
, kompiluje a generuje Razor sestavení jako součást sestavení projektu. Výchozí hodnotatrue
je .RazorCompileOnPublish
: Kdyžtrue
, kompiluje a generuje Razor sestavení jako součást publikování projektu. Výchozí hodnotatrue
je .UseRazorSourceGenerator
: Výchozí hodnotatrue
je . Kdy:true
- Zkompiluje se pomocí generování zdroje.
- Nevytvoří
<app_name>.Views.dll
. Zobrazení jsou součástí<app_name>.dll
. - Podporuje rozhraní .NET Opětovné načítání za provozu.
Vlastnosti a položky v následující tabulce slouží ke konfiguraci vstupů a výstupu Razor do sady SDK.
Items | Popis |
---|---|
RazorGenerate |
Prvky položky (.cshtml soubory), které jsou vstupy do generování kódu. |
RazorComponent |
Elementy položky (.razor soubory), které jsou vstupy do Razor generování kódu komponenty. |
RazorCompile |
Prvky položky (.cs soubory), které jsou vstupy cílů Razor kompilace. Pomocí tohoto ItemGroup příkazu můžete zadat další soubory, které se mají zkompilovat do Razor sestavení. |
RazorEmbeddedResource |
Prvky položky přidané jako vložené prostředky do vygenerovaného Razor sestavení. |
Vlastnost | Popis |
---|---|
RazorOutputPath |
Výstupní Razor adresář. |
RazorCompileToolset |
Slouží k určení sady nástrojů použité k sestavení Razor sestavení. Platné hodnoty jsou Implicit , RazorSDK a PrecompilationTool . |
EnableDefaultContentItems | Výchozí hodnota je true . Pokud true obsahuje web.config.json a .cshtml soubory jako obsah v projektu. Při odkazech prostřednictvím Microsoft.NET.Sdk.Web souborů wwwroot a konfiguračních souborů jsou zahrnuty také. |
EnableDefaultRazorGenerateItems |
Pokud true obsahuje .cshtml soubory z Content položek v RazorGenerate položkách. |
GenerateRazorTargetAssemblyInfo |
Nepoužívá se v .NET 6 a novějším. |
EnableDefaultRazorTargetAssemblyInfoAttributes |
Nepoužívá se v .NET 6 a novějším. |
CopyRazorGenerateFilesToPublishDirectory |
Když true zkopíruje RazorGenerate položky (.cshtml ) soubory do adresáře publikování. Soubory se obvykle nevyžadují pro publikovanou aplikaci, Razor pokud se účastní kompilace v době sestavení nebo v době publikování. Výchozí hodnota false je . |
PreserveCompilationReferences |
Když true zkopírujte odkazy na položky sestavení do adresáře publikování. Referenční sestavení se obvykle nevyžadují pro publikovanou aplikaci, pokud Razor dojde k kompilaci v době sestavení nebo v době publikování. Nastavte, true jestli publikovaná aplikace vyžaduje kompilaci modulu runtime. Například nastavte hodnotu na true , pokud aplikace upravuje .cshtml soubory za běhu nebo používá vložená zobrazení. Výchozí hodnota false je . |
IncludeRazorContentInPack |
Pokud true jsou všechny Razor položky obsahu (.cshtml soubory) označené pro zahrnutí do vygenerovaného balíčku NuGet. Výchozí hodnota false je . |
EmbedRazorGenerateSources |
Když true přidá položky RazorGenerate (.cshtml ) jako vložené soubory do vygenerovaného Razor sestavení. Výchozí hodnota false je . |
GenerateMvcApplicationPartsAssemblyAttributes |
Nepoužívá se v .NET 6 a novějším. |
DefaultWebContentItemExcludes |
Vzor globbingu pro prvky položek, které mají být vyloučeny ze Content skupiny položek v projektech, které cílí na web nebo Razor sadu SDK |
ExcludeConfigFilesFromBuildOutput |
Pokud true se soubory .config a .json soubory nezkopírují do výstupního adresáře sestavení. |
AddRazorSupportForMvc |
Když true nakonfiguruje Razor sadu SDK tak, aby přidala podporu pro konfiguraci MVC, která se vyžaduje při vytváření aplikací obsahujících zobrazení MVC nebo Razor stránky. Tato vlastnost je implicitně nastavená pro projekty .NET Core 3.0 nebo novější, které cílí na webovou sadu SDK. |
RazorLangVersion |
Verze jazyka, Razor na který chcete cílit. |
EmitCompilerGeneratedFiles |
Při nastavení se true vygenerované zdrojové soubory zapisují na disk. Nastavení, které true je užitečné při ladění kompilátoru. Výchozí hodnota je false . |
Další informace o vlastnostech naleznete v tématu MSBuild vlastnosti.
Kompilace Razor zobrazení za běhu
Sada SDK ve výchozím nastavení Razor nepublikuje referenční sestavení, která jsou potřebná k provedení kompilace modulu runtime. Výsledkem jsou selhání kompilace, když model aplikace spoléhá na kompilaci za běhu – například aplikace po publikování aplikace používá vložená zobrazení nebo mění zobrazení. Nastavte
CopyRefAssembliesToPublishDirectory
natrue
pokračování publikování referenčních sestavení. Generování kódu i kompilace je podporováno jediným voláním kompilátoru. Vytvoří se jedno sestavení, které obsahuje typy aplikací a vygenerovaná zobrazení.U webové aplikace se ujistěte, že vaše aplikace cílí na
Microsoft.NET.Sdk.Web
sadu SDK.
Razor jazyková verze
Při cílení na Microsoft.NET.Sdk.Web
sadu SDK Razor se verze jazyka odvodí z verze cílové architektury aplikace. U projektů, které cílí na Microsoft.NET.Sdk.Razor
sadu SDK nebo ve výjimečných případech, že aplikace vyžaduje jinou Razor jazykovou verzi než odvozená hodnota, je možné nakonfigurovat verzi nastavením <RazorLangVersion>
vlastnosti v souboru projektu aplikace:
<PropertyGroup>
<RazorLangVersion>{VERSION}</RazorLangVersion>
</PropertyGroup>
RazorJazyková verze je úzce integrovaná s verzí modulu runtime, pro kterou byla vytvořena. Cílení na jazykovou verzi, která není navržená pro modul runtime, není podporována a pravděpodobně způsobí chyby sestavení.
Další materiály
Sada .NET Core 2.1 SDK nebo novější obsahuje Microsoft.NET.Sdk.Razor
sadu MSBuild SDK (Razor SDK). Sada Razor SDK:
- Vyžaduje se k sestavení, zabalení a publikování projektů obsahujících Razor soubory pro ASP.NET základní MVC nebo Blazor projekty.
- Obsahuje sadu předdefinovaných cílů, vlastností a položek, které umožňují přizpůsobení kompilace Razor (
.cshtml
nebo.razor
) souborů.
Sada Razor SDK obsahuje Content
položky s Include
atributy nastavenými na **\*.cshtml
**\*.razor
vzory a vzory globbingu. Publikují se odpovídající soubory.
Požadavky
Sada .NET Core SDK 2.1 nebo novější
Razor Použití sady SDK
Většina webových aplikací nemusí explicitně odkazovat na Razor sadu SDK.
Pokud chcete sadu SDK použít Razor k vytváření knihoven tříd obsahujících Razor zobrazení nebo Razor stránky, doporučujeme začít se šablonou Razor projektu knihovny tříd (RCL). Seznam RCL, který se používá k sestavení Blazor (.razor
) souborů minimálně, vyžaduje odkaz na balíček Microsoft.AspNetCore.Components . Seznam RCL, který se používá k sestavení Razor zobrazení nebo stránek (.cshtml
souborů) minimálně vyžaduje cílení netcoreapp3.0
nebo novější a má FrameworkReference
v souboru projektu metapackage Microsoft.AspNetCore.App.
Vlastnosti
Chování sady SDK v rámci sestavení projektu řídí Razornásledující vlastnosti:
RazorCompileOnBuild
: Kdyžtrue
, kompiluje a generuje Razor sestavení jako součást sestavení projektu. Výchozí hodnotatrue
je .RazorCompileOnPublish
: Kdyžtrue
, kompiluje a generuje Razor sestavení jako součást publikování projektu. Výchozí hodnotatrue
je .
Vlastnosti a položky v následující tabulce slouží ke konfiguraci vstupů a výstupu Razor do sady SDK.
Upozorňující
Počínaje ASP.NET Core 3.0 nejsou zobrazení nebo Razor stránky MVC ve výchozím nastavení obsluhovány, pokud RazorCompileOnBuild
jsou v souboru projektu zakázané vlastnosti nebo RazorCompileOnPublish
vlastnosti NÁSTROJE MSBuild. Aplikace musí přidat explicitní odkaz na Microsoft.AspNetCore.Mvc.Razor. Balíček runtimeCompilation , pokud aplikace spoléhá na kompilaci modulu runtime ke zpracování .cshtml
souborů.
Items | Popis |
---|---|
RazorGenerate |
Prvky položky (.cshtml soubory), které jsou vstupy do generování kódu. |
RazorComponent |
Elementy položky (.razor soubory), které jsou vstupy do Razor generování kódu komponenty. |
RazorCompile |
Prvky položky (.cs soubory), které jsou vstupy cílů Razor kompilace. Pomocí tohoto ItemGroup příkazu můžete zadat další soubory, které se mají zkompilovat do Razor sestavení. |
RazorTargetAssemblyAttribute |
Prvky položky používané k vytvoření kódu generují atributy sestavení Razor . Příklad: RazorAssemblyAttribute Include="System.Reflection.AssemblyMetadataAttribute" _Parameter1="BuildSource" _Parameter2="https://learn.microsoft.com/"> |
RazorEmbeddedResource |
Prvky položky přidané jako vložené prostředky do vygenerovaného Razor sestavení. |
Vlastnost | Popis |
---|---|
RazorTargetName |
Název souboru (bez přípony) sestavení vytvořeného Razor. |
RazorOutputPath |
Výstupní Razor adresář. |
RazorCompileToolset |
Slouží k určení sady nástrojů použité k sestavení Razor sestavení. Platné hodnoty jsou Implicit , RazorSDK a PrecompilationTool . |
EnableDefaultContentItems | Výchozí hodnota je true . Pokud true obsahuje web.config.json a .cshtml soubory jako obsah v projektu. Při odkazech prostřednictvím Microsoft.NET.Sdk.Web souborů wwwroot a konfiguračních souborů jsou zahrnuty také. |
EnableDefaultRazorGenerateItems |
Pokud true obsahuje .cshtml soubory z Content položek v RazorGenerate položkách. |
GenerateRazorTargetAssemblyInfo |
Když true vygeneruje .cs soubor obsahující atributy určené RazorAssemblyAttribute a obsahuje soubor ve výstupu kompilace. |
EnableDefaultRazorTargetAssemblyInfoAttributes |
Když true přidá výchozí sadu atributů sestavení do RazorAssemblyAttribute . |
CopyRazorGenerateFilesToPublishDirectory |
Když true zkopíruje RazorGenerate položky (.cshtml ) soubory do adresáře publikování. Soubory se obvykle nevyžadují pro publikovanou aplikaci, Razor pokud se účastní kompilace v době sestavení nebo v době publikování. Výchozí hodnota false je . |
PreserveCompilationReferences |
Když true zkopírujte odkazy na položky sestavení do adresáře publikování. Referenční sestavení se obvykle nevyžadují pro publikovanou aplikaci, pokud Razor dojde k kompilaci v době sestavení nebo v době publikování. Nastavte, true jestli publikovaná aplikace vyžaduje kompilaci modulu runtime. Například nastavte hodnotu na true , pokud aplikace upravuje .cshtml soubory za běhu nebo používá vložená zobrazení. Výchozí hodnota false je . |
IncludeRazorContentInPack |
Pokud true jsou všechny Razor položky obsahu (.cshtml soubory) označené pro zahrnutí do vygenerovaného balíčku NuGet. Výchozí hodnota false je . |
EmbedRazorGenerateSources |
Když true přidá položky RazorGenerate (.cshtml ) jako vložené soubory do vygenerovaného Razor sestavení. Výchozí hodnota false je . |
UseRazorBuildServer |
Když true použijete trvalý proces sestavení serveru k přesměrování zpracování práce generování kódu. Výchozí hodnota je hodnota UseSharedCompilation . |
GenerateMvcApplicationPartsAssemblyAttributes |
Když true sada SDK vygeneruje další atributy používané MVC za běhu k provádění zjišťování částí aplikace. |
DefaultWebContentItemExcludes |
Vzor globbingu pro prvky položek, které mají být vyloučeny ze Content skupiny položek v projektech, které cílí na web nebo Razor sadu SDK |
ExcludeConfigFilesFromBuildOutput |
Pokud true se soubory .config a .json soubory nezkopírují do výstupního adresáře sestavení. |
AddRazorSupportForMvc |
Když true nakonfiguruje Razor sadu SDK tak, aby přidala podporu pro konfiguraci MVC, která se vyžaduje při vytváření aplikací obsahujících zobrazení MVC nebo Razor stránky. Tato vlastnost je implicitně nastavená pro projekty .NET Core 3.0 nebo novější, které cílí na webovou sadu SDK. |
RazorLangVersion |
Verze jazyka, Razor na který chcete cílit. |
Další informace o vlastnostech naleznete v tématu MSBuild vlastnosti.
Cíle
Sada Razor SDK definuje dva primární cíle:
RazorGenerate
: Kód generuje.cs
soubory zRazorGenerate
prvků položek.RazorGenerateDependsOn
Vlastnost slouží k určení dalších cílů, které lze spustit před nebo za tímto cílem.RazorCompile
: Kompiluje vygenerované.cs
soubory do Razor sestavení.RazorCompileDependsOn
Slouží k určení dalších cílů, které lze spustit před nebo po tomto cíli.RazorComponentGenerate
: Kód generuje.cs
soubory proRazorComponent
prvky položky.RazorComponentGenerateDependsOn
Vlastnost slouží k určení dalších cílů, které lze spustit před nebo za tímto cílem.
Kompilace Razor zobrazení za běhu
Sada SDK ve výchozím nastavení Razor nepublikuje referenční sestavení, která jsou potřebná k provedení kompilace modulu runtime. Výsledkem jsou selhání kompilace, když model aplikace spoléhá na kompilaci za běhu – například aplikace po publikování aplikace používá vložená zobrazení nebo mění zobrazení. Nastavte
CopyRefAssembliesToPublishDirectory
natrue
pokračování publikování referenčních sestavení.U webové aplikace se ujistěte, že vaše aplikace cílí na
Microsoft.NET.Sdk.Web
sadu SDK.
Razor jazyková verze
Při cílení na Microsoft.NET.Sdk.Web
sadu SDK Razor se verze jazyka odvodí z verze cílové architektury aplikace. U projektů, které cílí na Microsoft.NET.Sdk.Razor
sadu SDK nebo ve výjimečných případech, že aplikace vyžaduje jinou Razor jazykovou verzi než odvozená hodnota, je možné nakonfigurovat verzi nastavením <RazorLangVersion>
vlastnosti v souboru projektu aplikace:
<PropertyGroup>
<RazorLangVersion>{VERSION}</RazorLangVersion>
</PropertyGroup>
RazorJazyková verze je úzce integrovaná s verzí modulu runtime, pro kterou byla vytvořena. Cílení na jazykovou verzi, která není navržená pro modul runtime, není podporována a pravděpodobně způsobí chyby sestavení.
Další materiály
- Standardizuje prostředí týkající se vytváření, balení a publikování projektů obsahujících Razor soubory pro projekty založené na ASP.NET Core MVC.
- Obsahuje sadu předdefinovaných cílů, vlastností a položek, které umožňují přizpůsobení kompilace Razor souborů.
Sada Razor SDK obsahuje Content
položku s atributem Include
nastaveným na vzor globbingu **\*.cshtml
. Publikují se odpovídající soubory.
Požadavky
Sada .NET Core SDK 2.1 nebo novější
Razor Použití sady SDK
Většina webových aplikací nemusí explicitně odkazovat na Razor sadu SDK.
Razor Použití sady SDK k sestavení knihoven tříd obsahujících Razor zobrazení nebo Razor stránky:
Použijte
Microsoft.NET.Sdk.Razor
místoMicrosoft.NET.Sdk
:<Project SDK="Microsoft.NET.Sdk.Razor"> <!-- omitted for brevity --> </Project>
K získání dalších závislostí potřebných k sestavení a kompilaci Razor stránek a Razor zobrazení se obvykle vyžaduje odkaz na
Microsoft.AspNetCore.Mvc
balíček. Projekt by měl minimálně přidat odkazy na balíčky do:Microsoft.AspNetCore.Razor.Design
Microsoft.AspNetCore.Mvc.Razor.Extensions
Microsoft.AspNetCore.Mvc.Razor
Balíček
Microsoft.AspNetCore.Razor.Design
poskytuje Razor úkoly kompilace a cíle projektu.Předchozí balíčky jsou zahrnuty do
Microsoft.AspNetCore.Mvc
. Následující kód ukazuje soubor projektu, který používá Razor sadu SDK k sestavení Razor souborů pro aplikaci ASP.NET Core Razor Pages:<Project Sdk="Microsoft.NET.Sdk.Razor"> <PropertyGroup> <TargetFramework>netcoreapp2.1</TargetFramework> </PropertyGroup> <ItemGroup> <PackageReference Include="Microsoft.AspNetCore.Mvc" Version="2.1.3" /> </ItemGroup> </Project>
Upozorňující
Balíčky Microsoft.AspNetCore.Razor.Design
a Microsoft.AspNetCore.Mvc.Razor.Extensions
balíčky jsou součástí Microsoft.AspNetCore.App metabalíku. Odkaz na balíček bez Microsoft.AspNetCore.App
verze ale poskytuje metabalíč aplikace, která neobsahuje nejnovější verzi Microsoft.AspNetCore.Razor.Design
. Projekty musí odkazovat na konzistentní verzi Microsoft.AspNetCore.Razor.Design
(nebo Microsoft.AspNetCore.Mvc
) tak, aby byly zahrnuty nejnovější opravy Razor času sestavení. Další informace najdete u tohoto problému na GitHubu.
Vlastnosti
Chování sady SDK v rámci sestavení projektu řídí Razornásledující vlastnosti:
RazorCompileOnBuild
: Kdyžtrue
, kompiluje a generuje Razor sestavení jako součást sestavení projektu. Výchozí hodnotatrue
je .RazorCompileOnPublish
: Kdyžtrue
, kompiluje a generuje Razor sestavení jako součást publikování projektu. Výchozí hodnotatrue
je .
Vlastnosti a položky v následující tabulce slouží ke konfiguraci vstupů a výstupu Razor do sady SDK.
Items | Popis |
---|---|
RazorGenerate |
Prvky položky (.cshtml soubory), které jsou vstupy do generování kódu. |
RazorComponent |
Elementy položky (.razor soubory), které jsou vstupy do Razor generování kódu komponenty. |
RazorCompile |
Prvky položky (.cs soubory), které jsou vstupy cílů Razor kompilace. Pomocí tohoto ItemGroup příkazu můžete zadat další soubory, které se mají zkompilovat do Razor sestavení. |
RazorTargetAssemblyAttribute |
Prvky položky používané k vytvoření kódu generují atributy sestavení Razor . Příklad: RazorAssemblyAttribute Include="System.Reflection.AssemblyMetadataAttribute" _Parameter1="BuildSource" _Parameter2="https://learn.microsoft.com/"> |
RazorEmbeddedResource |
Prvky položky přidané jako vložené prostředky do vygenerovaného Razor sestavení. |
Vlastnost | Popis |
---|---|
RazorTargetName |
Název souboru (bez přípony) sestavení vytvořeného Razor. |
RazorOutputPath |
Výstupní Razor adresář. |
RazorCompileToolset |
Slouží k určení sady nástrojů použité k sestavení Razor sestavení. Platné hodnoty jsou Implicit , RazorSDK a PrecompilationTool . |
EnableDefaultContentItems | Výchozí hodnota je true . Pokud true obsahuje web.config.json a .cshtml soubory jako obsah v projektu. Při odkazech prostřednictvím Microsoft.NET.Sdk.Web souborů wwwroot a konfiguračních souborů jsou zahrnuty také. |
EnableDefaultRazorGenerateItems |
Pokud true obsahuje .cshtml soubory z Content položek v RazorGenerate položkách. |
GenerateRazorTargetAssemblyInfo |
Když true vygeneruje .cs soubor obsahující atributy určené RazorAssemblyAttribute a obsahuje soubor ve výstupu kompilace. |
EnableDefaultRazorTargetAssemblyInfoAttributes |
Když true přidá výchozí sadu atributů sestavení do RazorAssemblyAttribute . |
CopyRazorGenerateFilesToPublishDirectory |
Když true zkopíruje RazorGenerate položky (.cshtml ) soubory do adresáře publikování. Soubory se obvykle nevyžadují pro publikovanou aplikaci, Razor pokud se účastní kompilace v době sestavení nebo v době publikování. Výchozí hodnota false je . |
CopyRefAssembliesToPublishDirectory |
Když true zkopírujte odkazy na položky sestavení do adresáře publikování. Referenční sestavení se obvykle nevyžadují pro publikovanou aplikaci, pokud Razor dojde k kompilaci v době sestavení nebo v době publikování. Nastavte, true jestli publikovaná aplikace vyžaduje kompilaci modulu runtime. Například nastavte hodnotu na true , pokud aplikace upravuje .cshtml soubory za běhu nebo používá vložená zobrazení. Výchozí hodnota false je . |
IncludeRazorContentInPack |
Pokud true jsou všechny Razor položky obsahu (.cshtml soubory) označené pro zahrnutí do vygenerovaného balíčku NuGet. Výchozí hodnota false je . |
EmbedRazorGenerateSources |
Když true přidá položky RazorGenerate (.cshtml ) jako vložené soubory do vygenerovaného Razor sestavení. Výchozí hodnota false je . |
UseRazorBuildServer |
Když true použijete trvalý proces sestavení serveru k přesměrování zpracování práce generování kódu. Výchozí hodnota je hodnota UseSharedCompilation . |
GenerateMvcApplicationPartsAssemblyAttributes |
Když true sada SDK vygeneruje další atributy používané MVC za běhu k provádění zjišťování částí aplikace. |
DefaultWebContentItemExcludes |
Vzor globbingu pro prvky položek, které mají být vyloučeny ze Content skupiny položek v projektech, které cílí na web nebo Razor sadu SDK |
ExcludeConfigFilesFromBuildOutput |
Pokud true se soubory .config a .json soubory nezkopírují do výstupního adresáře sestavení. |
AddRazorSupportForMvc |
Když true nakonfiguruje Razor sadu SDK tak, aby přidala podporu pro konfiguraci MVC, která se vyžaduje při vytváření aplikací obsahujících zobrazení MVC nebo Razor stránky. Tato vlastnost je implicitně nastavená pro projekty .NET Core 3.0 nebo novější, které cílí na webovou sadu SDK. |
RazorLangVersion |
Verze jazyka, Razor na který chcete cílit. |
Další informace o vlastnostech naleznete v tématu MSBuild vlastnosti.
Cíle
Sada Razor SDK definuje dva primární cíle:
RazorGenerate
: Kód generuje.cs
soubory zRazorGenerate
prvků položek.RazorGenerateDependsOn
Vlastnost slouží k určení dalších cílů, které lze spustit před nebo za tímto cílem.RazorCompile
: Kompiluje vygenerované.cs
soubory do Razor sestavení.RazorCompileDependsOn
Slouží k určení dalších cílů, které lze spustit před nebo po tomto cíli.RazorComponentGenerate
: Kód generuje.cs
soubory proRazorComponent
prvky položky.RazorComponentGenerateDependsOn
Vlastnost slouží k určení dalších cílů, které lze spustit před nebo za tímto cílem.
Kompilace Razor zobrazení za běhu
Sada SDK ve výchozím nastavení Razor nepublikuje referenční sestavení, která jsou potřebná k provedení kompilace modulu runtime. Výsledkem jsou selhání kompilace, když model aplikace spoléhá na kompilaci za běhu – například aplikace po publikování aplikace používá vložená zobrazení nebo mění zobrazení. Nastavte
CopyRefAssembliesToPublishDirectory
natrue
pokračování publikování referenčních sestavení.U webové aplikace se ujistěte, že vaše aplikace cílí na
Microsoft.NET.Sdk.Web
sadu SDK.
Razor jazyková verze
Při cílení na Microsoft.NET.Sdk.Web
sadu SDK Razor se verze jazyka odvodí z verze cílové architektury aplikace. U projektů, které cílí na Microsoft.NET.Sdk.Razor
sadu SDK nebo ve výjimečných případech, že aplikace vyžaduje jinou Razor jazykovou verzi než odvozená hodnota, je možné nakonfigurovat verzi nastavením <RazorLangVersion>
vlastnosti v souboru projektu aplikace:
<PropertyGroup>
<RazorLangVersion>{VERSION}</RazorLangVersion>
</PropertyGroup>
RazorJazyková verze je úzce integrovaná s verzí modulu runtime, pro kterou byla vytvořena. Cílení na jazykovou verzi, která není navržená pro modul runtime, není podporována a pravděpodobně způsobí chyby sestavení.