ASP.NET Core Razor SDK
Panoramica
.NET 6.0 SDK include Microsoft.NET.Sdk.Razor
MSBuild SDK (Razor SDK). The Razor SDK:
- È necessario per compilare, creare pacchetti e pubblicare progetti contenenti Razor file per ASP.NET progetti o Blazor basati su MVC Core.
- Include un set di proprietà predefinite e elementi che consentono di personalizzare la compilazione di Razor file (
.cshtml
o.razor
).
L'SDK Razor include elementi con Include
attributi impostati sui **\*.cshtml
modelli glob e **\*.razor
Content
. I file corrispondenti vengono pubblicati.
Prerequisiti
Usare l'SDK Razor
La maggior parte delle app Web non è necessaria per fare riferimento in modo esplicito all'SDK Razor .
Per usare l'SDK Razor per compilare librerie di classi contenenti Razor visualizzazioni o Razor Pagine, è consigliabile iniziare con il Razor modello di progetto della libreria di classi (RCL). Un RCL usato per compilare Blazor (.razor
) file richiede un riferimento minimo al pacchetto Microsoft.AspNetCore.Components . Un RCL usato per compilare Razor visualizzazioni o pagine (.cshtml
file) richiede in modo minimo la destinazione netcoreapp3.0
o una versione successiva e ha un FrameworkReference
oggetto per il metapacchetto Microsoft.AspNetCore.App nel file di progetto.
Proprietà
Le proprietà seguenti controllano il Razorcomportamento dell'SDK come parte di una compilazione di progetto:
RazorCompileOnBuild
: quandotrue
, compila e genera l'assembly Razor come parte della compilazione del progetto. Il valore predefinito ètrue
.RazorCompileOnPublish
: quandotrue
, compila e genera l'assembly Razor come parte della pubblicazione del progetto. Il valore predefinito ètrue
.UseRazorSourceGenerator
: il valore predefinito ètrue
. Quando:true
- Compila usando la generazione di origine.
- Non crea
<app_name>.Views.dll
. Le visualizzazioni sono incluse in<app_name>.dll
. - Supporta le Ricaricamento rapido .NET.
Le proprietà e gli elementi nella tabella seguente vengono usati per configurare input e output nell'SDK Razor .
Articoli | Descrizione |
---|---|
RazorGenerate |
Elementi dell'elemento (.cshtml file) che sono input per la generazione del codice. |
RazorComponent |
Elementi dell'elemento (.razor file) che sono input per la Razor generazione del codice del componente. |
RazorCompile |
Elementi dell'elemento (.cs file) che sono input per Razor le destinazioni di compilazione. Utilizzare questa opzione ItemGroup per specificare file aggiuntivi da compilare nell'assembly Razor . |
RazorEmbeddedResource |
Elementi elemento aggiunti come risorse incorporate all'assembly generato Razor . |
Proprietà | Descrizione |
---|---|
RazorOutputPath |
Directory Razor di output. |
RazorCompileToolset |
Utilizzato per determinare il set di strumenti usato per compilare l'assembly Razor . I valori validi sono Implicit , RazorSDK e PrecompilationTool . |
EnableDefaultContentItems | Il valore predefinito è true . Quando true , include i file web.config, .json e .cshtml come contenuto nel progetto. Quando viene fatto riferimento tramite Microsoft.NET.Sdk.Web , vengono inclusi anche i file in wwwroot e config. |
EnableDefaultRazorGenerateItems |
Quando true , include .cshtml i file degli Content elementi negli RazorGenerate elementi. |
GenerateRazorTargetAssemblyInfo |
Non usato in .NET 6 e versioni successive. |
EnableDefaultRazorTargetAssemblyInfoAttributes |
Non usato in .NET 6 e versioni successive. |
CopyRazorGenerateFilesToPublishDirectory |
Quando true , copia RazorGenerate i file di elementi (.cshtml ) nella directory di pubblicazione. In genere, Razor i file non sono necessari per un'app pubblicata se partecipano alla compilazione in fase di compilazione o in fase di pubblicazione. Il valore predefinito è false . |
PreserveCompilationReferences |
Quando è true , copiare gli elementi dell'assembly di riferimento nella directory di pubblicazione. In genere, gli assembly di riferimento non sono necessari per un'app pubblicata se Razor la compilazione avviene in fase di compilazione o in fase di pubblicazione. Impostare su true se l'app pubblicata richiede la compilazione in fase di esecuzione. Ad esempio, impostare il valore su true se l'app modifica .cshtml i file in fase di esecuzione o usa visualizzazioni incorporate. Il valore predefinito è false . |
IncludeRazorContentInPack |
Quando true , tutti gli Razor elementi di contenuto (.cshtml file) vengono contrassegnati per l'inclusione nel pacchetto NuGet generato. Il valore predefinito è false . |
EmbedRazorGenerateSources |
Quando true , aggiunge elementi RazorGenerate (.cshtml ) come file incorporati all'assembly generato Razor . Il valore predefinito è false . |
GenerateMvcApplicationPartsAssemblyAttributes |
Non usato in .NET 6 e versioni successive. |
DefaultWebContentItemExcludes |
Modello di globing per gli elementi di elemento che devono essere esclusi dal Content gruppo di elementi nei progetti destinati al Web o Razor all'SDK |
ExcludeConfigFilesFromBuildOutput |
Quando true , i file con estensione config e .json non vengono copiati nella directory di output di compilazione. |
AddRazorSupportForMvc |
Quando true , configura l'SDK Razor per aggiungere il supporto per la configurazione MVC necessaria per la compilazione di applicazioni contenenti visualizzazioni MVC o Razor Pagine. Questa proprietà è impostata in modo implicito per i progetti .NET Core 3.0 o versioni successive destinati a Web SDK |
RazorLangVersion |
Versione della Razor lingua di destinazione. |
EmitCompilerGeneratedFiles |
Se impostato su true , i file di origine generati vengono scritti su disco. L'impostazione su true è utile quando si esegue il debug del compilatore. Il valore predefinito è false . |
Per altre informazioni sulle proprietà, vedere Proprietà di MSBuild.
Compilazione in fase di esecuzione delle Razor visualizzazioni
Per impostazione predefinita, l'SDK Razor non pubblica assembly di riferimento necessari per eseguire la compilazione in fase di esecuzione. Ciò comporta errori di compilazione quando il modello di applicazione si basa sulla compilazione in fase di esecuzione, ad esempio l'app usa visualizzazioni incorporate o cambia visualizzazioni dopo la pubblicazione dell'app. Impostare
CopyRefAssembliesToPublishDirectory
sutrue
per continuare con la pubblicazione degli assembly di riferimento. Sia la generazione del codice che la compilazione sono supportate da una singola chiamata al compilatore. Viene generato un singolo assembly che contiene i tipi di app e le visualizzazioni generate.Per un'app Web, assicurarsi che l'app sia destinata all'SDK
Microsoft.NET.Sdk.Web
.
Razor versione del linguaggio
Quando la destinazione è l'SDK Microsoft.NET.Sdk.Web
, la versione del Razor linguaggio viene dedotta dalla versione del framework di destinazione dell'app. Per i progetti destinati all'SDK Microsoft.NET.Sdk.Razor
o nel raro caso in cui l'app richiede una Razor versione diversa rispetto al valore dedotto, è possibile configurare una versione impostando la <RazorLangVersion>
proprietà nel file di progetto dell'app:
<PropertyGroup>
<RazorLangVersion>{VERSION}</RazorLangVersion>
</PropertyGroup>
RazorLa versione del linguaggio è strettamente integrata con la versione del runtime per cui è stata compilata. La destinazione di una versione del linguaggio non progettata per il runtime non è supportata e probabilmente genera errori di compilazione.
Risorse aggiuntive
.NET Core 2.1 SDK o versione successiva include Microsoft.NET.Sdk.Razor
MSBuild SDK (Razor SDK). The Razor SDK:
- È necessario per compilare, creare pacchetti e pubblicare progetti contenenti Razor file per ASP.NET progetti o Blazor basati su MVC Core.
- Include un set di destinazioni, proprietà e elementi predefiniti che consentono di personalizzare la compilazione di Razor file (
.cshtml
o.razor
).
L'SDK Razor include elementi con Include
attributi impostati sui **\*.cshtml
modelli glob e **\*.razor
Content
. I file corrispondenti vengono pubblicati.
Prerequisiti
.NET Core 2.1 SDK o versione successiva
Usare l'SDK Razor
La maggior parte delle app Web non è necessaria per fare riferimento in modo esplicito all'SDK Razor .
Per usare l'SDK Razor per compilare librerie di classi contenenti Razor visualizzazioni o Razor Pagine, è consigliabile iniziare con il Razor modello di progetto della libreria di classi (RCL). Un RCL usato per compilare Blazor (.razor
) file richiede un riferimento minimo al pacchetto Microsoft.AspNetCore.Components . Un RCL usato per compilare Razor visualizzazioni o pagine (.cshtml
file) richiede in modo minimo la destinazione netcoreapp3.0
o una versione successiva e ha un FrameworkReference
oggetto per il metapacchetto Microsoft.AspNetCore.App nel file di progetto.
Proprietà
Le proprietà seguenti controllano il Razorcomportamento dell'SDK come parte di una compilazione di progetto:
RazorCompileOnBuild
: quandotrue
, compila e genera l'assembly Razor come parte della compilazione del progetto. Il valore predefinito ètrue
.RazorCompileOnPublish
: quandotrue
, compila e genera l'assembly Razor come parte della pubblicazione del progetto. Il valore predefinito ètrue
.
Le proprietà e gli elementi nella tabella seguente vengono usati per configurare input e output nell'SDK Razor .
Avviso
A partire da ASP.NET Core 3.0, le visualizzazioni O Razor le pagine MVC non vengono gestite per impostazione predefinita se le RazorCompileOnBuild
proprietà o RazorCompileOnPublish
MSBuild nel file di progetto sono disabilitate. Le applicazioni devono aggiungere un riferimento esplicito a Microsoft.AspNetCore.Mvc.Razor. Pacchetto RuntimeCompilation se l'app si basa sulla compilazione in fase di esecuzione per elaborare i .cshtml
file.
Articoli | Descrizione |
---|---|
RazorGenerate |
Elementi dell'elemento (.cshtml file) che sono input per la generazione del codice. |
RazorComponent |
Elementi dell'elemento (.razor file) che sono input per la Razor generazione del codice del componente. |
RazorCompile |
Elementi dell'elemento (.cs file) che sono input per Razor le destinazioni di compilazione. Utilizzare questa opzione ItemGroup per specificare file aggiuntivi da compilare nell'assembly Razor . |
RazorTargetAssemblyAttribute |
Elementi dell'elemento utilizzati per generare attributi per l'assembly Razor . Ad esempio: RazorAssemblyAttribute Include="System.Reflection.AssemblyMetadataAttribute" _Parameter1="BuildSource" _Parameter2="https://learn.microsoft.com/"> |
RazorEmbeddedResource |
Elementi elemento aggiunti come risorse incorporate all'assembly generato Razor . |
Proprietà | Descrizione |
---|---|
RazorTargetName |
Nome file (senza estensione) dell'assembly prodotto da Razor. |
RazorOutputPath |
Directory Razor di output. |
RazorCompileToolset |
Utilizzato per determinare il set di strumenti usato per compilare l'assembly Razor . I valori validi sono Implicit , RazorSDK e PrecompilationTool . |
EnableDefaultContentItems | Il valore predefinito è true . Quando true , include i file web.config, .json e .cshtml come contenuto nel progetto. Quando viene fatto riferimento tramite Microsoft.NET.Sdk.Web , vengono inclusi anche i file in wwwroot e config. |
EnableDefaultRazorGenerateItems |
Quando true , include .cshtml i file degli Content elementi negli RazorGenerate elementi. |
GenerateRazorTargetAssemblyInfo |
Quando true , genera un .cs file contenente attributi specificati da RazorAssemblyAttribute e include il file nell'output di compilazione. |
EnableDefaultRazorTargetAssemblyInfoAttributes |
Quando è true , aggiunge un set predefinito di attributi degli assembly a RazorAssemblyAttribute . |
CopyRazorGenerateFilesToPublishDirectory |
Quando true , copia RazorGenerate i file di elementi (.cshtml ) nella directory di pubblicazione. In genere, Razor i file non sono necessari per un'app pubblicata se partecipano alla compilazione in fase di compilazione o in fase di pubblicazione. Il valore predefinito è false . |
PreserveCompilationReferences |
Quando è true , copiare gli elementi dell'assembly di riferimento nella directory di pubblicazione. In genere, gli assembly di riferimento non sono necessari per un'app pubblicata se Razor la compilazione avviene in fase di compilazione o in fase di pubblicazione. Impostare su true se l'app pubblicata richiede la compilazione in fase di esecuzione. Ad esempio, impostare il valore su true se l'app modifica .cshtml i file in fase di esecuzione o usa visualizzazioni incorporate. Il valore predefinito è false . |
IncludeRazorContentInPack |
Quando true , tutti gli Razor elementi di contenuto (.cshtml file) vengono contrassegnati per l'inclusione nel pacchetto NuGet generato. Il valore predefinito è false . |
EmbedRazorGenerateSources |
Quando true , aggiunge elementi RazorGenerate (.cshtml ) come file incorporati all'assembly generato Razor . Il valore predefinito è false . |
UseRazorBuildServer |
Quando è true , usa un processo del server di compilazione permanente per ripartire il lavoro di generazione del codice. Valore predefinito è il valore di UseSharedCompilation . |
GenerateMvcApplicationPartsAssemblyAttributes |
Quando true , l'SDK genera attributi aggiuntivi usati da MVC in fase di esecuzione per eseguire l'individuazione delle parti dell'applicazione. |
DefaultWebContentItemExcludes |
Modello di globing per gli elementi di elemento che devono essere esclusi dal Content gruppo di elementi nei progetti destinati al Web o Razor all'SDK |
ExcludeConfigFilesFromBuildOutput |
Quando true , i file con estensione config e .json non vengono copiati nella directory di output di compilazione. |
AddRazorSupportForMvc |
Quando true , configura l'SDK Razor per aggiungere il supporto per la configurazione MVC necessaria per la compilazione di applicazioni contenenti visualizzazioni MVC o Razor Pagine. Questa proprietà è impostata in modo implicito per i progetti .NET Core 3.0 o versioni successive destinati a Web SDK |
RazorLangVersion |
Versione della Razor lingua di destinazione. |
Per altre informazioni sulle proprietà, vedere Proprietà di MSBuild.
Target
L'SDK Razor definisce due destinazioni principali:
RazorGenerate
: il codice genera.cs
file dagliRazorGenerate
elementi dell'elemento. Utilizzare laRazorGenerateDependsOn
proprietà per specificare destinazioni aggiuntive che possono essere eseguite prima o dopo questa destinazione.RazorCompile
: compila i file generati.cs
in un Razor assembly.RazorCompileDependsOn
Utilizzare per specificare destinazioni aggiuntive che possono essere eseguite prima o dopo questa destinazione.RazorComponentGenerate
: il codice genera.cs
file perRazorComponent
gli elementi dell'elemento. Utilizzare laRazorComponentGenerateDependsOn
proprietà per specificare destinazioni aggiuntive che possono essere eseguite prima o dopo questa destinazione.
Compilazione in fase di esecuzione delle Razor visualizzazioni
Per impostazione predefinita, l'SDK Razor non pubblica assembly di riferimento necessari per eseguire la compilazione in fase di esecuzione. Ciò comporta errori di compilazione quando il modello di applicazione si basa sulla compilazione in fase di esecuzione, ad esempio l'app usa visualizzazioni incorporate o cambia visualizzazioni dopo la pubblicazione dell'app. Impostare
CopyRefAssembliesToPublishDirectory
sutrue
per continuare con la pubblicazione degli assembly di riferimento.Per un'app Web, assicurarsi che l'app sia destinata all'SDK
Microsoft.NET.Sdk.Web
.
Razor versione del linguaggio
Quando la destinazione è l'SDK Microsoft.NET.Sdk.Web
, la versione del Razor linguaggio viene dedotta dalla versione del framework di destinazione dell'app. Per i progetti destinati all'SDK Microsoft.NET.Sdk.Razor
o nel raro caso in cui l'app richiede una Razor versione diversa rispetto al valore dedotto, è possibile configurare una versione impostando la <RazorLangVersion>
proprietà nel file di progetto dell'app:
<PropertyGroup>
<RazorLangVersion>{VERSION}</RazorLangVersion>
</PropertyGroup>
RazorLa versione del linguaggio è strettamente integrata con la versione del runtime per cui è stata compilata. La destinazione di una versione del linguaggio non progettata per il runtime non è supportata e probabilmente genera errori di compilazione.
Risorse aggiuntive
- Standardizza l'esperienza di creazione, creazione di pacchetti e pubblicazione di progetti contenenti Razor file per ASP.NET progetti basati su MVC Core.
- Include un set di destinazioni, proprietà e elementi predefiniti che consentono di personalizzare la compilazione dei Razor file.
L'SDK Razor include un elemento con un Content
Include
attributo impostato sul **\*.cshtml
modello globbing. I file corrispondenti vengono pubblicati.
Prerequisiti
.NET Core 2.1 SDK o versione successiva
Usare l'SDK Razor
La maggior parte delle app Web non è necessaria per fare riferimento in modo esplicito all'SDK Razor .
Per usare l'SDK Razor per compilare librerie di classi contenenti Razor visualizzazioni o Razor pagine:
Usare
Microsoft.NET.Sdk.Razor
anzichéMicrosoft.NET.Sdk
:<Project SDK="Microsoft.NET.Sdk.Razor"> <!-- omitted for brevity --> </Project>
In genere, è necessario un riferimento al pacchetto a
Microsoft.AspNetCore.Mvc
per ricevere dipendenze aggiuntive Razor necessarie per compilare e compilare pagine e Razor visualizzazioni. Come minimo, il progetto deve aggiungere riferimenti al pacchetto a:Microsoft.AspNetCore.Razor.Design
Microsoft.AspNetCore.Mvc.Razor.Extensions
Microsoft.AspNetCore.Mvc.Razor
Il
Microsoft.AspNetCore.Razor.Design
pacchetto fornisce le attività di compilazione e le Razor destinazioni per il progetto.I pacchetti precedenti sono inclusi in
Microsoft.AspNetCore.Mvc
. Il markup seguente mostra un file di progetto che usa l'SDK Razor per compilare Razor i file per un'app Core Razor Pages di ASP.NET:<Project Sdk="Microsoft.NET.Sdk.Razor"> <PropertyGroup> <TargetFramework>netcoreapp2.1</TargetFramework> </PropertyGroup> <ItemGroup> <PackageReference Include="Microsoft.AspNetCore.Mvc" Version="2.1.3" /> </ItemGroup> </Project>
Avviso
I Microsoft.AspNetCore.Razor.Design
pacchetti e Microsoft.AspNetCore.Mvc.Razor.Extensions
sono inclusi nel metapacchetto Microsoft.AspNetCore.App. Tuttavia, il riferimento al pacchetto senza versione Microsoft.AspNetCore.App
fornisce un metapacchetto all'app che non include la versione più recente di Microsoft.AspNetCore.Razor.Design
. I progetti devono fare riferimento a una versione coerente di (o Microsoft.AspNetCore.Mvc
) in modo che siano incluse le correzioni in fase di Microsoft.AspNetCore.Razor.Design
compilazione più recenti per Razor . Per altre informazioni, vedere questo problema in GitHub.
Proprietà
Le proprietà seguenti controllano il Razorcomportamento dell'SDK come parte di una compilazione di progetto:
RazorCompileOnBuild
: quandotrue
, compila e genera l'assembly Razor come parte della compilazione del progetto. Il valore predefinito ètrue
.RazorCompileOnPublish
: quandotrue
, compila e genera l'assembly Razor come parte della pubblicazione del progetto. Il valore predefinito ètrue
.
Le proprietà e gli elementi nella tabella seguente vengono usati per configurare input e output nell'SDK Razor .
Articoli | Descrizione |
---|---|
RazorGenerate |
Elementi dell'elemento (.cshtml file) che sono input per la generazione del codice. |
RazorComponent |
Elementi dell'elemento (.razor file) che sono input per la Razor generazione del codice del componente. |
RazorCompile |
Elementi dell'elemento (.cs file) che sono input per Razor le destinazioni di compilazione. Utilizzare questa opzione ItemGroup per specificare file aggiuntivi da compilare nell'assembly Razor . |
RazorTargetAssemblyAttribute |
Elementi dell'elemento utilizzati per generare attributi per l'assembly Razor . Ad esempio: RazorAssemblyAttribute Include="System.Reflection.AssemblyMetadataAttribute" _Parameter1="BuildSource" _Parameter2="https://learn.microsoft.com/"> |
RazorEmbeddedResource |
Elementi elemento aggiunti come risorse incorporate all'assembly generato Razor . |
Proprietà | Descrizione |
---|---|
RazorTargetName |
Nome file (senza estensione) dell'assembly prodotto da Razor. |
RazorOutputPath |
Directory Razor di output. |
RazorCompileToolset |
Utilizzato per determinare il set di strumenti usato per compilare l'assembly Razor . I valori validi sono Implicit , RazorSDK e PrecompilationTool . |
EnableDefaultContentItems | Il valore predefinito è true . Quando true , include i file web.config, .json e .cshtml come contenuto nel progetto. Quando viene fatto riferimento tramite Microsoft.NET.Sdk.Web , vengono inclusi anche i file in wwwroot e config. |
EnableDefaultRazorGenerateItems |
Quando true , include .cshtml i file degli Content elementi negli RazorGenerate elementi. |
GenerateRazorTargetAssemblyInfo |
Quando true , genera un .cs file contenente attributi specificati da RazorAssemblyAttribute e include il file nell'output di compilazione. |
EnableDefaultRazorTargetAssemblyInfoAttributes |
Quando è true , aggiunge un set predefinito di attributi degli assembly a RazorAssemblyAttribute . |
CopyRazorGenerateFilesToPublishDirectory |
Quando true , copia RazorGenerate i file di elementi (.cshtml ) nella directory di pubblicazione. In genere, Razor i file non sono necessari per un'app pubblicata se partecipano alla compilazione in fase di compilazione o in fase di pubblicazione. Il valore predefinito è false . |
CopyRefAssembliesToPublishDirectory |
Quando è true , copiare gli elementi dell'assembly di riferimento nella directory di pubblicazione. In genere, gli assembly di riferimento non sono necessari per un'app pubblicata se Razor la compilazione avviene in fase di compilazione o in fase di pubblicazione. Impostare su true se l'app pubblicata richiede la compilazione in fase di esecuzione. Ad esempio, impostare il valore su true se l'app modifica .cshtml i file in fase di esecuzione o usa visualizzazioni incorporate. Il valore predefinito è false . |
IncludeRazorContentInPack |
Quando true , tutti gli Razor elementi di contenuto (.cshtml file) vengono contrassegnati per l'inclusione nel pacchetto NuGet generato. Il valore predefinito è false . |
EmbedRazorGenerateSources |
Quando true , aggiunge elementi RazorGenerate (.cshtml ) come file incorporati all'assembly generato Razor . Il valore predefinito è false . |
UseRazorBuildServer |
Quando è true , usa un processo del server di compilazione permanente per ripartire il lavoro di generazione del codice. Valore predefinito è il valore di UseSharedCompilation . |
GenerateMvcApplicationPartsAssemblyAttributes |
Quando true , l'SDK genera attributi aggiuntivi usati da MVC in fase di esecuzione per eseguire l'individuazione delle parti dell'applicazione. |
DefaultWebContentItemExcludes |
Modello di globing per gli elementi di elemento che devono essere esclusi dal Content gruppo di elementi nei progetti destinati al Web o Razor all'SDK |
ExcludeConfigFilesFromBuildOutput |
Quando true , i file con estensione config e .json non vengono copiati nella directory di output di compilazione. |
AddRazorSupportForMvc |
Quando true , configura l'SDK Razor per aggiungere il supporto per la configurazione MVC necessaria per la compilazione di applicazioni contenenti visualizzazioni MVC o Razor Pagine. Questa proprietà è impostata in modo implicito per i progetti .NET Core 3.0 o versioni successive destinati a Web SDK |
RazorLangVersion |
Versione della Razor lingua di destinazione. |
Per altre informazioni sulle proprietà, vedere Proprietà di MSBuild.
Target
L'SDK Razor definisce due destinazioni principali:
RazorGenerate
: il codice genera.cs
file dagliRazorGenerate
elementi dell'elemento. Utilizzare laRazorGenerateDependsOn
proprietà per specificare destinazioni aggiuntive che possono essere eseguite prima o dopo questa destinazione.RazorCompile
: compila i file generati.cs
in un Razor assembly.RazorCompileDependsOn
Utilizzare per specificare destinazioni aggiuntive che possono essere eseguite prima o dopo questa destinazione.RazorComponentGenerate
: il codice genera.cs
file perRazorComponent
gli elementi dell'elemento. Utilizzare laRazorComponentGenerateDependsOn
proprietà per specificare destinazioni aggiuntive che possono essere eseguite prima o dopo questa destinazione.
Compilazione in fase di esecuzione delle Razor visualizzazioni
Per impostazione predefinita, l'SDK Razor non pubblica assembly di riferimento necessari per eseguire la compilazione in fase di esecuzione. Ciò comporta errori di compilazione quando il modello di applicazione si basa sulla compilazione in fase di esecuzione, ad esempio l'app usa visualizzazioni incorporate o cambia visualizzazioni dopo la pubblicazione dell'app. Impostare
CopyRefAssembliesToPublishDirectory
sutrue
per continuare con la pubblicazione degli assembly di riferimento.Per un'app Web, assicurarsi che l'app sia destinata all'SDK
Microsoft.NET.Sdk.Web
.
Razor versione del linguaggio
Quando la destinazione è l'SDK Microsoft.NET.Sdk.Web
, la versione del Razor linguaggio viene dedotta dalla versione del framework di destinazione dell'app. Per i progetti destinati all'SDK Microsoft.NET.Sdk.Razor
o nel raro caso in cui l'app richiede una Razor versione diversa rispetto al valore dedotto, è possibile configurare una versione impostando la <RazorLangVersion>
proprietà nel file di progetto dell'app:
<PropertyGroup>
<RazorLangVersion>{VERSION}</RazorLangVersion>
</PropertyGroup>
RazorLa versione del linguaggio è strettamente integrata con la versione del runtime per cui è stata compilata. La destinazione di una versione del linguaggio non progettata per il runtime non è supportata e probabilmente genera errori di compilazione.