Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Door Rick Anderson
Overview
De .NET 6 SDK bevat de Microsoft.NET.Sdk.Razor MSBuild SDK (Razor SDK). De Razor SDK:
- Is vereist voor het bouwen, verpakken en publiceren van projecten die bestanden bevatten Razor voor ASP.NET Core MVC of Blazor projecten.
- Bevat een set vooraf gedefinieerde eigenschappen en items waarmee de compilatie van Razor (
.cshtmlof.razor) bestanden kan worden aangepast.
De Razor SDK bevat Content items met Include kenmerken die zijn ingesteld op de **\*.cshtml en **\*.razor globbing-patronen. Overeenkomende bestanden worden gepubliceerd.
Prerequisites
Razor De SDK gebruiken
De meeste web-apps hoeven niet expliciet naar de Razor SDK te verwijzen.
Als u de SDK wilt gebruiken voor het Razor bouwen van klassebibliotheken met Razor weergaven of Razor Pagina's, raden we u aan om te beginnen met de Razor RCL-projectsjabloon (Class Library). Een RCL die wordt gebruikt om Blazor (.razor)-bestanden te bouwen, heeft minimaal een verwijzing naar het Microsoft.AspNetCore.Components-pakket nodig. Een RCL die wordt gebruikt om Razor weergaven of pagina's (.cshtml bestanden) te bouwen, vereist minimaal het targeten van netcoreapp3.0 of later en heeft een FrameworkReference naar de Microsoft.AspNetCore.App metapackage in het projectbestand.
Properties
De volgende eigenschappen bepalen het RazorSDK-gedrag als onderdeel van een projectbuild:
-
RazorCompileOnBuild: Wanneertrue, compileert en verzendt de Razor assembly als onderdeel van het bouwen van het project. Standaardwaarde istrue. -
RazorCompileOnPublish: Wanneertrue, compileert en verzendt de Razor assembly als onderdeel van het publiceren van het project. Standaardwaarde istrue. -
UseRazorSourceGenerator: standaard ingesteld optrue. Wanneertrue:- Compileert met behulp van brongeneratie.
- Maakt niet
<app_name>.Views.dll. Weergaven zijn opgenomen in<app_name>.dll. - Ondersteunt .NET Hot Reload.
De eigenschappen en items in de volgende tabel worden gebruikt voor het configureren van invoer en uitvoer voor de Razor SDK.
| Items | Description |
|---|---|
RazorGenerate |
Itemelementen (.cshtml bestanden) die invoer zijn voor het genereren van code. |
RazorComponent |
Itemelementen (.razor bestanden) die invoer zijn voor Razor het genereren van onderdeelcode. |
RazorCompile |
Itemelementen (.cs bestanden) die invoer zijn voor Razor compilatiedoelen. Gebruik deze ItemGroup optie om extra bestanden op te geven die in de Razor assembly moeten worden gecompileerd. |
RazorEmbeddedResource |
Itemelementen toegevoegd als ingesloten resources aan de gegenereerde Razor assembly. |
| Property | Description |
|---|---|
RazorOutputPath |
De Razor uitvoermap. |
RazorCompileToolset |
Wordt gebruikt om de toolset te bepalen die wordt gebruikt om de Razor assembly te bouwen. Geldige waarden zijn Implicit, RazorSDKen PrecompilationTool. |
| EnableDefaultContentItems | De standaardinstelling is true. Wanneer true, bevat web.config, .jsonen .cshtml bestanden als inhoud in het project. Wanneer ernaar wordt verwezen via Microsoft.NET.Sdk.Web, worden bestanden onder wwwroot en configuratiebestanden ook opgenomen. |
EnableDefaultRazorGenerateItems |
Wanneer true, bevat .cshtml bestanden van Content items in RazorGenerate items. |
GenerateRazorTargetAssemblyInfo |
Niet gebruikt in .NET 6 of hoger. |
EnableDefaultRazorTargetAssemblyInfoAttributes |
Niet gebruikt in .NET 6 of hoger. |
CopyRazorGenerateFilesToPublishDirectory |
Wanneer true, worden RazorGenerate items (.cshtml) bestanden naar de publicatiemap gekopieerd.
Razor Bestanden zijn doorgaans niet vereist voor een gepubliceerde app als ze deelnemen aan compilatie tijdens de build- of publicatietijd. Standaardwaarde is false. |
PreserveCompilationReferences |
Wanneer true, kopieert u verwijzingsassembly-items naar de publicatiemap. Verwijzingsassemblies zijn doorgaans niet vereist voor een gepubliceerde app als Razor de compilatie plaatsvindt op het moment van bouwen of publiceren. Stel in op true als voor uw gepubliceerde app runtimecompilatie nodig is. Stel bijvoorbeeld de waarde in op true als de app tijdens de uitvoering bestanden wijzigt of ingesloten weergaven gebruikt .cshtml. Standaardwaarde is false. |
IncludeRazorContentInPack |
Wanneer trueworden alle Razor inhoudsitems (.cshtml bestanden) gemarkeerd voor opname in het gegenereerde NuGet-pakket. Standaardwaarde is false. |
EmbedRazorGenerateSources |
Wanneer true, worden RazorGenerate (.cshtml)-items als ingesloten bestanden toegevoegd aan de gegenereerde Razor-assembly. Standaardwaarde is false. |
GenerateMvcApplicationPartsAssemblyAttributes |
Niet gebruikt in .NET 6 of hoger. |
DefaultWebContentItemExcludes |
Een globbing-patroon voor itemelementen die moeten worden uitgesloten van de Content itemgroep in projecten die gericht zijn op het web of Razor de SDK |
ExcludeConfigFilesFromBuildOutput |
Wanneer true, .config en .json bestanden niet naar de uitvoermap van de build worden gekopieerd. |
AddRazorSupportForMvc |
Wanneer true, configureert u de Razor SDK om ondersteuning toe te voegen voor de MVC-configuratie die vereist is bij het bouwen van toepassingen met MVC-weergaven of Razor -pagina's. Deze eigenschap is impliciet ingesteld voor .NET Core 3.0- of hogerprojecten die gericht zijn op de Web SDK |
RazorLangVersion |
De versie van de Razor gewenste taal. |
EmitCompilerGeneratedFiles |
Indien ingesteld op true, worden de gegenereerde bronbestanden naar de schijf geschreven.
true Deze instelling is handig bij het opsporen van fouten in de compiler. De standaardwaarde is false. |
Zie MSBuild-eigenschappen voor meer informatie over eigenschappen.
Runtime-compilatie van Razor views
Standaard publiceert de Razor SDK geen referentieassembly's die vereist zijn om runtimecompilatie uit te voeren. Dit resulteert in compilatiefouten wanneer het toepassingsmodel afhankelijk is van runtimecompilatie. De app maakt bijvoorbeeld gebruik van ingesloten weergaven of wijzigingen in weergaven nadat de app is gepubliceerd. Stel
CopyRefAssembliesToPublishDirectoryin optrueom de publicatie van referentie-assembly's voort te zetten. Zowel codegeneratie als compilatie worden ondersteund door één aanroep naar de compiler. Er wordt één assembly geproduceerd die de app-typen en de gegenereerde weergaven bevat.Zorg ervoor dat uw app gericht is op de
Microsoft.NET.Sdk.WebSDK voor een web-app.
Razor taalversie
Bij het targeten van de Microsoft.NET.Sdk.Web SDK wordt de Razor taalversie afgeleid van de doel frameworkversie van de app. Voor projecten die gericht zijn op de Microsoft.NET.Sdk.Razor SDK of in het zeldzame geval dat voor de app een andere Razor taalversie is vereist dan de uitgestelde waarde, kan een versie worden geconfigureerd door de <RazorLangVersion> eigenschap in te stellen in het projectbestand van de app:
<PropertyGroup>
<RazorLangVersion>{VERSION}</RazorLangVersion>
</PropertyGroup>
RazorDe taalversie is nauw geïntegreerd met de versie van de runtime waarvoor deze is gebouwd. Een taalversie targeten die niet voor de runtime is ontworpen, wordt niet ondersteund en zal waarschijnlijk bouwfouten veroorzaken.
Additional resources
De SDK van .NET Core 2.1 of hoger bevat de Microsoft.NET.Sdk.Razor MSBuild SDK (Razor SDK). De Razor SDK:
- Is vereist voor het bouwen, verpakken en publiceren van projecten die bestanden bevatten Razor voor ASP.NET Core MVC of Blazor projecten.
- Bevat een set vooraf gedefinieerde doelen, eigenschappen en items waarmee de compilatie van Razor (
.cshtmlof.razor) bestanden kan worden aangepast.
De Razor SDK bevat Content items met Include kenmerken die zijn ingesteld op de **\*.cshtml en **\*.razor globbing-patronen. Overeenkomende bestanden worden gepubliceerd.
Prerequisites
Razor De SDK gebruiken
De meeste web-apps hoeven niet expliciet naar de Razor SDK te verwijzen.
Als u de SDK wilt gebruiken voor het Razor bouwen van klassebibliotheken met Razor weergaven of Razor Pagina's, raden we u aan om te beginnen met de Razor RCL-projectsjabloon (Class Library). Een RCL die wordt gebruikt om Blazor (.razor)-bestanden te bouwen, heeft minimaal een verwijzing naar het Microsoft.AspNetCore.Components-pakket nodig. Een RCL die wordt gebruikt om Razor weergaven of pagina's (.cshtml bestanden) te bouwen, vereist minimaal het targeten van netcoreapp3.0 of later en heeft een FrameworkReference naar de Microsoft.AspNetCore.App metapackage in het projectbestand.
Properties
De volgende eigenschappen bepalen het RazorSDK-gedrag als onderdeel van een projectbuild:
-
RazorCompileOnBuild: Wanneertrue, compileert en verzendt de Razor assembly als onderdeel van het bouwen van het project. Standaardwaarde istrue. -
RazorCompileOnPublish: Wanneertrue, compileert en verzendt de Razor assembly als onderdeel van het publiceren van het project. Standaardwaarde istrue.
De eigenschappen en items in de volgende tabel worden gebruikt voor het configureren van invoer en uitvoer voor de Razor SDK.
Warning
Vanaf ASP.NET Core 3.0 worden MVC-weergaven of Razor -pagina's niet standaard geleverd als de RazorCompileOnBuild of RazorCompileOnPublish MSBuild-eigenschappen in het projectbestand zijn uitgeschakeld. Toepassingen moeten een expliciete verwijzing toevoegen naar Microsoft.AspNetCore.Mvc.Razor. RuntimeCompilation-pakket als de app afhankelijk is van runtimecompilatie om bestanden te verwerken .cshtml .
| Items | Description |
|---|---|
RazorGenerate |
Itemelementen (.cshtml bestanden) die invoer zijn voor het genereren van code. |
RazorComponent |
Itemelementen (.razor bestanden) die invoer zijn voor Razor het genereren van onderdeelcode. |
RazorCompile |
Itemelementen (.cs bestanden) die invoer zijn voor Razor compilatiedoelen. Gebruik deze ItemGroup optie om extra bestanden op te geven die in de Razor assembly moeten worden gecompileerd. |
RazorTargetAssemblyAttribute |
Itemelementen die worden gebruikt om kenmerken voor de Razor assembly te genereren. For example: RazorAssemblyAttributeInclude="System.Reflection.AssemblyMetadataAttribute"_Parameter1="BuildSource" _Parameter2="https://free.blessedness.top/"> |
RazorEmbeddedResource |
Itemelementen toegevoegd als ingesloten resources aan de gegenereerde Razor assembly. |
| Property | Description |
|---|---|
RazorTargetName |
Bestandsnaam (zonder extensie) van de assembly geproduceerd door Razor. |
RazorOutputPath |
De Razor uitvoermap. |
RazorCompileToolset |
Wordt gebruikt om de toolset te bepalen die wordt gebruikt om de Razor assembly te bouwen. Geldige waarden zijn Implicit, RazorSDKen PrecompilationTool. |
| EnableDefaultContentItems | De standaardinstelling is true. Wanneer true, bevat web.config, .jsonen .cshtml bestanden als inhoud in het project. Wanneer ernaar wordt verwezen via Microsoft.NET.Sdk.Web, worden bestanden onder wwwroot en configuratiebestanden ook opgenomen. |
EnableDefaultRazorGenerateItems |
Wanneer true, bevat .cshtml bestanden van Content items in RazorGenerate items. |
GenerateRazorTargetAssemblyInfo |
Wanneer true wordt uitgevoerd, genereert het een .cs-bestand met attributen gespecificeerd door RazorAssemblyAttribute en voegt dit bestand toe aan de compilatie-uitvoer. |
EnableDefaultRazorTargetAssemblyInfoAttributes |
Wanneer truevoegt u een standaardset assemblykenmerken toe aan RazorAssemblyAttribute. |
CopyRazorGenerateFilesToPublishDirectory |
Wanneer true, worden RazorGenerate items (.cshtml) bestanden naar de publicatiemap gekopieerd.
Razor Bestanden zijn doorgaans niet vereist voor een gepubliceerde app als ze deelnemen aan compilatie tijdens de build- of publicatietijd. Standaardwaarde is false. |
PreserveCompilationReferences |
Wanneer true, kopieert u verwijzingsassembly-items naar de publicatiemap. Verwijzingsassemblies zijn doorgaans niet vereist voor een gepubliceerde app als Razor de compilatie plaatsvindt op het moment van bouwen of publiceren. Stel in op true als voor uw gepubliceerde app runtimecompilatie nodig is. Stel bijvoorbeeld de waarde in op true als de app tijdens de uitvoering bestanden wijzigt of ingesloten weergaven gebruikt .cshtml. Standaardwaarde is false. |
IncludeRazorContentInPack |
Wanneer trueworden alle Razor inhoudsitems (.cshtml bestanden) gemarkeerd voor opname in het gegenereerde NuGet-pakket. Standaardwaarde is false. |
EmbedRazorGenerateSources |
Wanneer true, worden RazorGenerate (.cshtml)-items als ingesloten bestanden toegevoegd aan de gegenereerde Razor-assembly. Standaardwaarde is false. |
UseRazorBuildServer |
Wanneer true wordt gebruikt, maakt u gebruik van een permanent buildserverproces om het genereren van code uit te besteden. Standaard ingesteld op de waarde van UseSharedCompilation. |
GenerateMvcApplicationPartsAssemblyAttributes |
Wanneer true, genereert de SDK extra kenmerken die tijdens runtime door MVC worden gebruikt om detectie van toepassingsonderdelen uit te voeren. |
DefaultWebContentItemExcludes |
Een globbing-patroon voor itemelementen die moeten worden uitgesloten van de Content itemgroep in projecten die gericht zijn op het web of Razor de SDK |
ExcludeConfigFilesFromBuildOutput |
Wanneer true, .config en .json bestanden niet naar de uitvoermap van de build worden gekopieerd. |
AddRazorSupportForMvc |
Wanneer true, configureert u de Razor SDK om ondersteuning toe te voegen voor de MVC-configuratie die vereist is bij het bouwen van toepassingen met MVC-weergaven of Razor -pagina's. Deze eigenschap is impliciet ingesteld voor .NET Core 3.0- of hogerprojecten die gericht zijn op de Web SDK |
RazorLangVersion |
De versie van de Razor gewenste taal. |
Zie MSBuild-eigenschappen voor meer informatie over eigenschappen.
Targets
De Razor SDK definieert twee primaire doelen:
-
RazorGenerate: Code genereert.csbestanden vanRazorGenerateitemelementen. Gebruik deRazorGenerateDependsOneigenschap om extra doelen op te geven die vóór of na dit doel kunnen worden uitgevoerd. -
RazorCompile: Compileert gegenereerde.csbestanden in een Razor assembly. Gebruik deRazorCompileDependsOnopdracht om extra doelen op te geven die vóór of na dit doel kunnen worden uitgevoerd. -
RazorComponentGenerate: Code genereert.csbestanden voorRazorComponentitemelementen. Gebruik deRazorComponentGenerateDependsOneigenschap om extra doelen op te geven die vóór of na dit doel kunnen worden uitgevoerd.
Runtime-compilatie van Razor views
Standaard publiceert de Razor SDK geen referentieassembly's die vereist zijn om runtimecompilatie uit te voeren. Dit resulteert in compilatiefouten wanneer het toepassingsmodel afhankelijk is van runtimecompilatie. De app maakt bijvoorbeeld gebruik van ingesloten weergaven of wijzigingen in weergaven nadat de app is gepubliceerd. Stel
CopyRefAssembliesToPublishDirectoryin optrueom de publicatie van referentie-assembly's voort te zetten.Zorg ervoor dat uw app gericht is op de
Microsoft.NET.Sdk.WebSDK voor een web-app.
Razor taalversie
Bij het targeten van de Microsoft.NET.Sdk.Web SDK wordt de Razor taalversie afgeleid van de doel frameworkversie van de app. Voor projecten die gericht zijn op de Microsoft.NET.Sdk.Razor SDK of in het zeldzame geval dat voor de app een andere Razor taalversie is vereist dan de uitgestelde waarde, kan een versie worden geconfigureerd door de <RazorLangVersion> eigenschap in te stellen in het projectbestand van de app:
<PropertyGroup>
<RazorLangVersion>{VERSION}</RazorLangVersion>
</PropertyGroup>
RazorDe taalversie is nauw geïntegreerd met de versie van de runtime waarvoor deze is gebouwd. Een taalversie targeten die niet voor de runtime is ontworpen, wordt niet ondersteund en zal waarschijnlijk bouwfouten veroorzaken.
Additional resources
- Standaardiseert de ervaring met het bouwen, verpakken en publiceren van projecten die bestanden bevatten Razor voor ASP.NET Core MVC-projecten.
- Bevat een set vooraf gedefinieerde doelen, eigenschappen en items waarmee de compilatie van Razor bestanden kan worden aangepast.
De Razor SDK bevat een Content item met een Include kenmerk dat is ingesteld op het **\*.cshtml globbing-patroon. Overeenkomende bestanden worden gepubliceerd.
Prerequisites
Razor De SDK gebruiken
De meeste web-apps hoeven niet expliciet naar de Razor SDK te verwijzen.
Razor SDK gebruiken om klassebibliotheken te bouwen die Razor weergaven of Razor pagina's bevatten.
Gebruik
Microsoft.NET.Sdk.Razorin plaats vanMicrosoft.NET.Sdk:<Project SDK="Microsoft.NET.Sdk.Razor"> <!-- omitted for brevity --> </Project>Doorgaans is een pakketreferentie naar
Microsoft.AspNetCore.Mvcvereist voor het ontvangen van extra afhankelijkheden die nodig zijn voor de bouw en compilatie van Razor pagina's en Razor weergaven. Uw project moet minimaal pakketverwijzingen toevoegen aan:Microsoft.AspNetCore.Razor.DesignMicrosoft.AspNetCore.Mvc.Razor.ExtensionsMicrosoft.AspNetCore.Mvc.Razor
Het
Microsoft.AspNetCore.Razor.Designpakket bevat de Razor compilatietaken en doelen voor het project.De voorgaande pakketten zijn opgenomen in
Microsoft.AspNetCore.Mvc. In de volgende markeringen ziet u een projectbestand dat de Razor SDK gebruikt om Razor bestanden te bouwen voor een ASP.NET Core Razor Pages-app:<Project Sdk="Microsoft.NET.Sdk.Razor"> <PropertyGroup> <TargetFramework>netcoreapp2.1</TargetFramework> </PropertyGroup> <ItemGroup> <PackageReference Include="Microsoft.AspNetCore.Mvc" Version="2.1.3" /> </ItemGroup> </Project>
Warning
De Microsoft.AspNetCore.Razor.Design en Microsoft.AspNetCore.Mvc.Razor.Extensions pakketten zijn opgenomen in de Microsoft.AspNetCore.App metapackage. De versieloze Microsoft.AspNetCore.App pakketverwijzing biedt echter een metapackage aan de app die niet de nieuwste versie van Microsoft.AspNetCore.Razor.Designbevat. Projecten moeten verwijzen naar een consistente versie van Microsoft.AspNetCore.Razor.Design (of Microsoft.AspNetCore.Mvc), zodat de laatste fixes voor buildtijd in Razor zijn opgenomen. Zie dit GitHub-probleem voor meer informatie.
Properties
De volgende eigenschappen bepalen het RazorSDK-gedrag als onderdeel van een projectbuild:
-
RazorCompileOnBuild: Wanneertrue, compileert en verzendt de Razor assembly als onderdeel van het bouwen van het project. Standaardwaarde istrue. -
RazorCompileOnPublish: Wanneertrue, compileert en verzendt de Razor assembly als onderdeel van het publiceren van het project. Standaardwaarde istrue.
De eigenschappen en items in de volgende tabel worden gebruikt voor het configureren van invoer en uitvoer voor de Razor SDK.
| Items | Description |
|---|---|
RazorGenerate |
Itemelementen (.cshtml bestanden) die invoer zijn voor het genereren van code. |
RazorComponent |
Itemelementen (.razor bestanden) die invoer zijn voor Razor het genereren van onderdeelcode. |
RazorCompile |
Itemelementen (.cs bestanden) die invoer zijn voor Razor compilatiedoelen. Gebruik deze ItemGroup optie om extra bestanden op te geven die in de Razor assembly moeten worden gecompileerd. |
RazorTargetAssemblyAttribute |
Itemelementen die worden gebruikt om kenmerken voor de Razor assembly te genereren. For example: RazorAssemblyAttributeInclude="System.Reflection.AssemblyMetadataAttribute"_Parameter1="BuildSource" _Parameter2="https://free.blessedness.top/"> |
RazorEmbeddedResource |
Itemelementen toegevoegd als ingesloten resources aan de gegenereerde Razor assembly. |
| Property | Description |
|---|---|
RazorTargetName |
Bestandsnaam (zonder extensie) van de assembly geproduceerd door Razor. |
RazorOutputPath |
De Razor uitvoermap. |
RazorCompileToolset |
Wordt gebruikt om de toolset te bepalen die wordt gebruikt om de Razor assembly te bouwen. Geldige waarden zijn Implicit, RazorSDKen PrecompilationTool. |
| EnableDefaultContentItems | De standaardinstelling is true. Wanneer true, bevat web.config, .jsonen .cshtml bestanden als inhoud in het project. Wanneer ernaar wordt verwezen via Microsoft.NET.Sdk.Web, worden bestanden onder wwwroot en configuratiebestanden ook opgenomen. |
EnableDefaultRazorGenerateItems |
Wanneer true, bevat .cshtml bestanden van Content items in RazorGenerate items. |
GenerateRazorTargetAssemblyInfo |
Wanneer true wordt uitgevoerd, genereert het een .cs-bestand met attributen gespecificeerd door RazorAssemblyAttribute en voegt dit bestand toe aan de compilatie-uitvoer. |
EnableDefaultRazorTargetAssemblyInfoAttributes |
Wanneer truevoegt u een standaardset assemblykenmerken toe aan RazorAssemblyAttribute. |
CopyRazorGenerateFilesToPublishDirectory |
Wanneer true, worden RazorGenerate items (.cshtml) bestanden naar de publicatiemap gekopieerd.
Razor Bestanden zijn doorgaans niet vereist voor een gepubliceerde app als ze deelnemen aan compilatie tijdens de build- of publicatietijd. Standaardwaarde is false. |
CopyRefAssembliesToPublishDirectory |
Wanneer true, kopieert u verwijzingsassembly-items naar de publicatiemap. Verwijzingsassemblies zijn doorgaans niet vereist voor een gepubliceerde app als Razor de compilatie plaatsvindt op het moment van bouwen of publiceren. Stel in op true als voor uw gepubliceerde app runtimecompilatie nodig is. Stel bijvoorbeeld de waarde in op true als de app tijdens de uitvoering bestanden wijzigt of ingesloten weergaven gebruikt .cshtml. Standaardwaarde is false. |
IncludeRazorContentInPack |
Wanneer trueworden alle Razor inhoudsitems (.cshtml bestanden) gemarkeerd voor opname in het gegenereerde NuGet-pakket. Standaardwaarde is false. |
EmbedRazorGenerateSources |
Wanneer true, worden RazorGenerate (.cshtml)-items als ingesloten bestanden toegevoegd aan de gegenereerde Razor-assembly. Standaardwaarde is false. |
UseRazorBuildServer |
Wanneer true wordt gebruikt, maakt u gebruik van een permanent buildserverproces om het genereren van code uit te besteden. Standaard ingesteld op de waarde van UseSharedCompilation. |
GenerateMvcApplicationPartsAssemblyAttributes |
Wanneer true, genereert de SDK extra kenmerken die tijdens runtime door MVC worden gebruikt om detectie van toepassingsonderdelen uit te voeren. |
DefaultWebContentItemExcludes |
Een globbing-patroon voor itemelementen die moeten worden uitgesloten van de Content itemgroep in projecten die gericht zijn op het web of Razor de SDK |
ExcludeConfigFilesFromBuildOutput |
Wanneer true, .config en .json bestanden niet naar de uitvoermap van de build worden gekopieerd. |
AddRazorSupportForMvc |
Wanneer true, configureert u de Razor SDK om ondersteuning toe te voegen voor de MVC-configuratie die vereist is bij het bouwen van toepassingen met MVC-weergaven of Razor -pagina's. Deze eigenschap is impliciet ingesteld voor .NET Core 3.0- of hogerprojecten die gericht zijn op de Web SDK |
RazorLangVersion |
De versie van de Razor gewenste taal. |
Zie MSBuild-eigenschappen voor meer informatie over eigenschappen.
Targets
De Razor SDK definieert twee primaire doelen:
-
RazorGenerate: Code genereert.csbestanden vanRazorGenerateitemelementen. Gebruik deRazorGenerateDependsOneigenschap om extra doelen op te geven die vóór of na dit doel kunnen worden uitgevoerd. -
RazorCompile: Compileert gegenereerde.csbestanden in een Razor assembly. Gebruik deRazorCompileDependsOnopdracht om extra doelen op te geven die vóór of na dit doel kunnen worden uitgevoerd. -
RazorComponentGenerate: Code genereert.csbestanden voorRazorComponentitemelementen. Gebruik deRazorComponentGenerateDependsOneigenschap om extra doelen op te geven die vóór of na dit doel kunnen worden uitgevoerd.
Runtime-compilatie van Razor views
Standaard publiceert de Razor SDK geen referentieassembly's die vereist zijn om runtimecompilatie uit te voeren. Dit resulteert in compilatiefouten wanneer het toepassingsmodel afhankelijk is van runtimecompilatie. De app maakt bijvoorbeeld gebruik van ingesloten weergaven of wijzigingen in weergaven nadat de app is gepubliceerd. Stel
CopyRefAssembliesToPublishDirectoryin optrueom de publicatie van referentie-assembly's voort te zetten.Zorg ervoor dat uw app gericht is op de
Microsoft.NET.Sdk.WebSDK voor een web-app.
Razor taalversie
Bij het targeten van de Microsoft.NET.Sdk.Web SDK wordt de Razor taalversie afgeleid van de doel frameworkversie van de app. Voor projecten die gericht zijn op de Microsoft.NET.Sdk.Razor SDK of in het zeldzame geval dat voor de app een andere Razor taalversie is vereist dan de uitgestelde waarde, kan een versie worden geconfigureerd door de <RazorLangVersion> eigenschap in te stellen in het projectbestand van de app:
<PropertyGroup>
<RazorLangVersion>{VERSION}</RazorLangVersion>
</PropertyGroup>
RazorDe taalversie is nauw geïntegreerd met de versie van de runtime waarvoor deze is gebouwd. Een taalversie targeten die niet voor de runtime is ontworpen, wordt niet ondersteund en zal waarschijnlijk bouwfouten veroorzaken.