Megosztás a következőn keresztül:


ASP.NET Core Razor SDK

Készítette: Rick Anderson

Overview

A .NET 6 SDK tartalmazza az Microsoft.NET.Sdk.Razor MSBuild SDK-t (Razor SDK). Az Razor SDK:

  • Az ASP.NET Core MVC-alapú vagy más projektek Razor fájljainak létrehozásához, csomagolásához és Blazor közzétételéhez szükséges.
  • Tartalmaz egy előre definiált tulajdonságok és olyan elemek, amelyek lehetővé teszik a Razor (.cshtml vagy .razor) fájlok kompilálásának testreszabását.

Az Razor SDK az Content elemeket tartalmazza, amelyek Include attribútumai a **\*.cshtml és **\*.razor globbing mintákra vannak állítva. A rendszer közzéteszi az egyező fájlokat.

Prerequisites

.NET 6 SDK

Az Razor SDK használata

A legtöbb webalkalmazásnak nem kell explicit módon hivatkoznia az Razor SDK-ra.

Ha az Razor SDK-val nézeteket vagy Razor lapokat tartalmazó Razor osztálytárakat szeretne létrehozni, javasoljuk, hogy kezdje az Razor osztálytár (RCL) projektsablonnal. A (Blazor) fájlok létrehozásához .razor használt RCL-fájlok minimálisan igényelnek hivatkozást a Microsoft.AspNetCore.Components csomagra. A Razor nézetek vagy lapok (.cshtml fájlok) létrehozására használt RCL-nek minimálisan a netcoreapp3.0 célzást vagy annál újabbat kell megcéloznia, és rendelkeznie kell hivatkozással a FrameworkReference a projektfájlban.

Properties

A következő tulajdonságok szabályozzák az RazorSDK viselkedését egy projekt build részeként:

  • RazorCompileOnBuild: Amikor truea projekt létrehozása során összeállítja és kibocsátja a Razor szerelvényt. Alapértelmezett érték: true.
  • RazorCompileOnPublish: Amikor truea projekt közzététele során lefordítja és kibocsátja a Razor szerelvényt. Alapértelmezett érték: true.
  • UseRazorSourceGenerator: Alapértelmezés szerint true. Amikor true:
    • Feldolgozás forrásgenerálással.
    • Nem hoz létre <app_name>.Views.dll. A nézeteket tartalmazza a <app_name>.dll rendszer.
    • Támogatja a .NET azonnali újratöltését.

Az alábbi táblázatban szereplő tulajdonságok és elemek az SDK bemeneteinek és kimenetének Razor konfigurálására szolgálnak.

Items Description
RazorGenerate Elemelemek (.cshtml fájlok), amelyek a kódgenerálás bemenetei.
RazorComponent Azok az elemek (.razor fájlok), amelyek az Razor összetevő kódgenerálás bemenetei.
RazorCompile Elemek (.cs fájlok), amelyek inputként szolgálnak Razor fordítási célokhoz. Ezzel ItemGroup adhatja meg a fordítandó további fájlokat az Razor assemblyhez.
RazorEmbeddedResource A létrehozott Razor szerelvényhez beágyazott erőforrásként hozzáadott elemelemek.
Property Description
RazorOutputPath A Razor kimeneti könyvtár.
RazorCompileToolset A szerelvény létrehozásához Razor használt eszközkészlet meghatározására szolgál. Az érvényes értékek a következők: Implicit, RazorSDKés PrecompilationTool.
EnableDefaultContentItems Az alapértelmezett érték true. Amikor true a web.config, .json és .cshtml fájlokat tartalmaz tartalomként a projektben. A hivatkozás Microsoft.NET.Sdk.Websorán a wwwroot és a konfigurációs fájlok alatti fájlok is szerepelnek.
EnableDefaultRazorGenerateItems Amikor true, .cshtml fájlokat tartalmaz Content, amelyek RazorGenerate elemekből származnak.
GenerateRazorTargetAssemblyInfo A .NET 6-os vagy újabb verziójában nem használható.
EnableDefaultRazorTargetAssemblyInfoAttributes A .NET 6-os vagy újabb verziójában nem használható.
CopyRazorGenerateFilesToPublishDirectory Amikor true fájlokkal ellátott elemeket (RazorGenerate) másol .cshtml a közzétételi könyvtárba. A közzétett alkalmazásokhoz általában nincs szükség fájlokra, Razor ha az alkotási vagy közzétételi folyamat során vesznek részt az összeállításban. Alapértelmezett érték: false.
PreserveCompilationReferences Amikor true, másolja a hivatkozási szerelvény elemeit a közzétételi könyvtárba. Általában nincs szükség referencia összeállításokra a közzétett alkalmazások esetében, ha a Razor fordítás buildelési vagy közzétételi időpontban történik. Állítsa true értékre, ha a közzétett alkalmazás futásidejű fordítást igényel. Állítsa be például az értéket arra az esetre true , ha az alkalmazás futásidőben módosítja .cshtml a fájlokat, vagy beágyazott nézeteket használ. Alapértelmezett érték: false.
IncludeRazorContentInPack Amikor truea rendszer az összes Razor tartalomelemet (.cshtml fájlt) megjelöli a létrehozott NuGet-csomagba való felvételhez. Alapértelmezett érték: false.
EmbedRazorGenerateSources Amikor truea RazorGenerate (.cshtml) elemeket beágyazott fájlként adja hozzá a létrehozott Razor szerelvényhez. Alapértelmezett érték: false.
GenerateMvcApplicationPartsAssemblyAttributes A .NET 6-os vagy újabb verziójában nem használható.
DefaultWebContentItemExcludes A webes vagy Content SDK-t megcélzó projektek Razor elemcsoportjából kizárandó elemek mintázata
ExcludeConfigFilesFromBuildOutput Amikor true.config és .json fájlok nem másolódnak át a felépítés kimeneti könyvtárába.
AddRazorSupportForMvc Amikor trueaz Razor SDK-t úgy konfigurálja, hogy támogatást adjon az MVC-konfigurációhoz, amely MVC-nézeteket vagy Razor oldalakat tartalmazó alkalmazások létrehozásakor szükséges. Ez a tulajdonság implicit módon van beállítva a webes SDK-t célzó .NET Core 3.0-s vagy újabb projektekhez
RazorLangVersion A megcélzandó nyelv verziója Razor .
EmitCompilerGeneratedFiles Ha be van trueállítva, a rendszer a létrehozott forrásfájlokat lemezre írja. true-ra történő beállítás hasznos a fordító hibakereséséhez. Az alapértelmezett érték a false.

További információ a tulajdonságokról: MSBuild properties.

Futtatókörnyezeti nézetek fordítása Razor

  • Alapértelmezés szerint az Razor SDK nem tesz közzé olyan referenciaszerelvényeket, amelyek a futtatókörnyezet fordításához szükségesek. Ez fordítási hibákat eredményez, ha az alkalmazásmodell futásidejű fordításra támaszkodik – például beágyazott nézeteket használ, vagy módosítja a nézeteket az alkalmazás közzététele után. Állítsa be CopyRefAssembliesToPublishDirectory a true referenciaszerelvények közzétételének folytatásához. A kódgenerálást és a fordítást a fordító egyetlen hívása is támogatja. Egyetlen szerelvény jön létre, amely tartalmazza az alkalmazástípusokat és a létrehozott nézeteket.

  • Webalkalmazások esetén győződjön meg arról, hogy az alkalmazás az Microsoft.NET.Sdk.Web SDK-t célozza.

Razor nyelvi verzió

Az SDK megcélzásakor a Microsoft.NET.Sdk.Web nyelvi verziót az alkalmazás Razor cél-keretrendszerének verziója határozza meg. Az SDK-t megcélzó Microsoft.NET.Sdk.Razor projektek esetében, vagy abban az esetben, ha az alkalmazásnak a várt értékétől eltérő Razor nyelvi verzióra van szüksége, a verzió az alkalmazás projektfájljában lévő tulajdonság beállításával <RazorLangVersion> konfigurálható:

<PropertyGroup>
  <RazorLangVersion>{VERSION}</RazorLangVersion>
</PropertyGroup>

RazorA nyelvi verzió szorosan integrálva van annak a futtatókörnyezetnek a verziójával, amelyhez készült. A nem a futtatókörnyezethez tervezett nyelvi verzió megcélzása nem támogatott, és valószínűleg buildelési hibákat okoz.

További erőforrások

A .NET Core 2.1 vagy újabb SDK tartalmazza az Microsoft.NET.Sdk.Razor MSBuild SDK-t (Razor SDK). Az Razor SDK:

  • Az ASP.NET Core MVC-alapú vagy más projektek Razor fájljainak létrehozásához, csomagolásához és Blazor közzétételéhez szükséges.
  • Előre definiált célokat, tulajdonságokat és elemeket tartalmaz, amelyek lehetővé teszik a Razor (.cshtml vagy .razor) fájlok kompilálásának testreszabását.

Az Razor SDK az Content elemeket tartalmazza, amelyek Include attribútumai a **\*.cshtml és **\*.razor globbing mintákra vannak állítva. A rendszer közzéteszi az egyező fájlokat.

Prerequisites

.NET Core 2.1 vagy újabb SDK

Az Razor SDK használata

A legtöbb webalkalmazásnak nem kell explicit módon hivatkoznia az Razor SDK-ra.

Ha az Razor SDK-val nézeteket vagy Razor lapokat tartalmazó Razor osztálytárakat szeretne létrehozni, javasoljuk, hogy kezdje az Razor osztálytár (RCL) projektsablonnal. A (Blazor) fájlok létrehozásához .razor használt RCL-fájlok minimálisan igényelnek hivatkozást a Microsoft.AspNetCore.Components csomagra. A Razor nézetek vagy lapok (.cshtml fájlok) létrehozására használt RCL-nek minimálisan a netcoreapp3.0 célzást vagy annál újabbat kell megcéloznia, és rendelkeznie kell hivatkozással a FrameworkReference a projektfájlban.

Properties

A következő tulajdonságok szabályozzák az RazorSDK viselkedését egy projekt build részeként:

  • RazorCompileOnBuild: Amikor truea projekt létrehozása során összeállítja és kibocsátja a Razor szerelvényt. Alapértelmezett érték: true.
  • RazorCompileOnPublish: Amikor truea projekt közzététele során lefordítja és kibocsátja a Razor szerelvényt. Alapértelmezett érték: true.

Az alábbi táblázatban szereplő tulajdonságok és elemek az SDK bemeneteinek és kimenetének Razor konfigurálására szolgálnak.

Warning

Az ASP.NET Core 3.0-tól kezdve az MVC-nézetek vagy Razor lapok alapértelmezés szerint nem kerülnek kiszolgálásra, ha a projektfájlban le vannak tiltva az RazorCompileOnBuild vagy RazorCompileOnPublish MSBuild tulajdonságok. Az alkalmazásoknak explicit hivatkozást kell hozzáadniuk a Microsoft.AspNetCore.Mvc.Razor RuntimeCompilation csomagra, ha az alkalmazás a futásidejű fordításra támaszkodik a következő fájlok feldolgozásához.

Items Description
RazorGenerate Elemelemek (.cshtml fájlok), amelyek a kódgenerálás bemenetei.
RazorComponent Azok az elemek (.razor fájlok), amelyek az Razor összetevő kódgenerálás bemenetei.
RazorCompile Elemek (.cs fájlok), amelyek inputként szolgálnak Razor fordítási célokhoz. Ezzel ItemGroup adhatja meg a fordítandó további fájlokat az Razor assemblyhez.
RazorTargetAssemblyAttribute Az szerelvény attribútumainak Razor létrehozásához használt elemelemek. Például:
RazorAssemblyAttribute
Include="System.Reflection.AssemblyMetadataAttribute"
_Parameter1="BuildSource" _Parameter2="https://learn.microsoft.com/">
RazorEmbeddedResource A létrehozott Razor szerelvényhez beágyazott erőforrásként hozzáadott elemelemek.
Property Description
RazorTargetName A(z) által Razorelőállított szerelvény fájlneve (kiterjesztés nélkül).
RazorOutputPath A Razor kimeneti könyvtár.
RazorCompileToolset A szerelvény létrehozásához Razor használt eszközkészlet meghatározására szolgál. Az érvényes értékek a következők: Implicit, RazorSDKés PrecompilationTool.
EnableDefaultContentItems Az alapértelmezett érték true. Amikor true a web.config, .json és .cshtml fájlokat tartalmaz tartalomként a projektben. A hivatkozás Microsoft.NET.Sdk.Websorán a wwwroot és a konfigurációs fájlok alatti fájlok is szerepelnek.
EnableDefaultRazorGenerateItems Amikor true, .cshtml fájlokat tartalmaz Content, amelyek RazorGenerate elemekből származnak.
GenerateRazorTargetAssemblyInfo Amikor true, létrejön egy .cs fájl, amely RazorAssemblyAttribute által megadott attribútumokat tartalmaz, és belekerül a fordítási kimenetbe.
EnableDefaultRazorTargetAssemblyInfoAttributes Amikor true, a rendszer alapértelmezett szerelvényattribútum-készletet ad hozzá a RazorAssemblyAttribute elemhez.
CopyRazorGenerateFilesToPublishDirectory Amikor true fájlokkal ellátott elemeket (RazorGenerate) másol .cshtml a közzétételi könyvtárba. A közzétett alkalmazásokhoz általában nincs szükség fájlokra, Razor ha az alkotási vagy közzétételi folyamat során vesznek részt az összeállításban. Alapértelmezett érték: false.
PreserveCompilationReferences Amikor true, másolja a hivatkozási szerelvény elemeit a közzétételi könyvtárba. Általában nincs szükség referencia összeállításokra a közzétett alkalmazások esetében, ha a Razor fordítás buildelési vagy közzétételi időpontban történik. Állítsa true értékre, ha a közzétett alkalmazás futásidejű fordítást igényel. Állítsa be például az értéket arra az esetre true , ha az alkalmazás futásidőben módosítja .cshtml a fájlokat, vagy beágyazott nézeteket használ. Alapértelmezett érték: false.
IncludeRazorContentInPack Amikor truea rendszer az összes Razor tartalomelemet (.cshtml fájlt) megjelöli a létrehozott NuGet-csomagba való felvételhez. Alapértelmezett érték: false.
EmbedRazorGenerateSources Amikor truea RazorGenerate (.cshtml) elemeket beágyazott fájlként adja hozzá a létrehozott Razor szerelvényhez. Alapértelmezett érték: false.
UseRazorBuildServer Amikor truea rendszer állandó buildkiszolgáló-folyamatot használ a kódgenerálási munka kiszervezéséhez. Alapértelmezés szerint az érték: UseSharedCompilation.
GenerateMvcApplicationPartsAssemblyAttributes Amikor trueaz SDK további attribútumokat hoz létre, amelyeket az MVC használ futásidőben az alkalmazásrészek felderítéséhez.
DefaultWebContentItemExcludes A webes vagy Content SDK-t megcélzó projektek Razor elemcsoportjából kizárandó elemek mintázata
ExcludeConfigFilesFromBuildOutput Amikor true.config és .json fájlok nem másolódnak át a felépítés kimeneti könyvtárába.
AddRazorSupportForMvc Amikor trueaz Razor SDK-t úgy konfigurálja, hogy támogatást adjon az MVC-konfigurációhoz, amely MVC-nézeteket vagy Razor oldalakat tartalmazó alkalmazások létrehozásakor szükséges. Ez a tulajdonság implicit módon van beállítva a webes SDK-t célzó .NET Core 3.0-s vagy újabb projektekhez
RazorLangVersion A megcélzandó nyelv verziója Razor .

További információ a tulajdonságokról: MSBuild properties.

Targets

Az Razor SDK két elsődleges célt határoz meg:

  • RazorGenerate: A kód .cs elemekből hoz létre RazorGenerate fájlokat. RazorGenerateDependsOn A tulajdonság használatával további célokat adhat meg, amelyek a cél előtt vagy után futtathatók.
  • RazorCompile: Az elkészült .cs fájlokat egy Razor egységbe fordítja le. RazorCompileDependsOn A használatával további célokat adhat meg, amelyek a cél előtt vagy után futtathatók.
  • RazorComponentGenerate: A kód .cs fájlokat hoz létre a RazorComponent elem elemek számára. RazorComponentGenerateDependsOn A tulajdonság használatával további célokat adhat meg, amelyek a cél előtt vagy után futtathatók.

Futtatókörnyezeti nézetek fordítása Razor

  • Alapértelmezés szerint az Razor SDK nem tesz közzé olyan referenciaszerelvényeket, amelyek a futtatókörnyezet fordításához szükségesek. Ez fordítási hibákat eredményez, ha az alkalmazásmodell futásidejű fordításra támaszkodik – például beágyazott nézeteket használ, vagy módosítja a nézeteket az alkalmazás közzététele után. Állítsa be CopyRefAssembliesToPublishDirectory a true referenciaszerelvények közzétételének folytatásához.

  • Webalkalmazások esetén győződjön meg arról, hogy az alkalmazás az Microsoft.NET.Sdk.Web SDK-t célozza.

Razor nyelvi verzió

Az SDK megcélzásakor a Microsoft.NET.Sdk.Web nyelvi verziót az alkalmazás Razor cél-keretrendszerének verziója határozza meg. Az SDK-t megcélzó Microsoft.NET.Sdk.Razor projektek esetében, vagy abban az esetben, ha az alkalmazásnak a várt értékétől eltérő Razor nyelvi verzióra van szüksége, a verzió az alkalmazás projektfájljában lévő tulajdonság beállításával <RazorLangVersion> konfigurálható:

<PropertyGroup>
  <RazorLangVersion>{VERSION}</RazorLangVersion>
</PropertyGroup>

RazorA nyelvi verzió szorosan integrálva van annak a futtatókörnyezetnek a verziójával, amelyhez készült. A nem a futtatókörnyezethez tervezett nyelvi verzió megcélzása nem támogatott, és valószínűleg buildelési hibákat okoz.

További erőforrások

  • Szabványosítja a ASP.NET Core MVC-alapú projektek fájljait tartalmazó Razor projektek létrehozásának, csomagolásának és közzétételének élményét.
  • Tartalmaz előre definiált célokat, tulajdonságokat és elemeket, amelyek lehetővé teszik a Razor fájlok összeállításának testreszabását.

Az Razor SDK tartalmaz egy Content elemet, amelynek Include attribútuma a **\*.cshtml globbing mintára van állítva. A rendszer közzéteszi az egyező fájlokat.

Prerequisites

.NET Core 2.1 vagy újabb SDK

Az Razor SDK használata

A legtöbb webalkalmazásnak nem kell explicit módon hivatkoznia az Razor SDK-ra.

Az SDK használata Razor osztálykönyvtárak létrehozásához, amelyek Razor nézeteket vagy Razor oldalakat tartalmaznak.

  • Használja Microsoft.NET.Sdk.Razor a következő Microsoft.NET.Sdkhelyett:

    <Project SDK="Microsoft.NET.Sdk.Razor">
      <!-- omitted for brevity -->
    </Project>
    
  • Általában egy csomaghivatkozásra Microsoft.AspNetCore.Mvc van szükség ahhoz, hogy megkapjuk az Razor lapok és Razor nézetek létrehozásához és fordításához szükséges további függőségeket. A projektnek legalább a következő csomaghivatkozásokat kell hozzáadnia:

    • Microsoft.AspNetCore.Razor.Design
    • Microsoft.AspNetCore.Mvc.Razor.Extensions
    • Microsoft.AspNetCore.Mvc.Razor

    A Microsoft.AspNetCore.Razor.Design csomag biztosítja a projekt fordítási Razor feladatait és céljait.

    Az előző csomagokat a Microsoft.AspNetCore.Mvcrendszer tartalmazza. Az alábbi korrektúra egy olyan projektfájlt mutat be, amely az Razor SDK használatával készít Razor fájlokat egy ASP.NET Core Razor Pages-alkalmazáshoz:

    <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

A Microsoft.AspNetCore.Razor.Design és Microsoft.AspNetCore.Mvc.Razor.Extensions csomagok szerepelnek a Microsoft.AspNetCore.App metacsomagban. A verzió nélküli Microsoft.AspNetCore.App csomaghivatkozás azonban olyan metacsomagot biztosít az alkalmazásnak, amely nem tartalmazza a legújabb verziót Microsoft.AspNetCore.Razor.Design. A projekteknek egy egységes Microsoft.AspNetCore.Razor.Design (vagy Microsoft.AspNetCore.Mvc) verzióra kell hivatkozniuk, hogy a legújabb build-idő javítások is elérhetők legyenek. További információkért tekintse meg ezt a GitHub-problémát.

Properties

A következő tulajdonságok szabályozzák az RazorSDK viselkedését egy projekt build részeként:

  • RazorCompileOnBuild: Amikor truea projekt létrehozása során összeállítja és kibocsátja a Razor szerelvényt. Alapértelmezett érték: true.
  • RazorCompileOnPublish: Amikor truea projekt közzététele során lefordítja és kibocsátja a Razor szerelvényt. Alapértelmezett érték: true.

Az alábbi táblázatban szereplő tulajdonságok és elemek az SDK bemeneteinek és kimenetének Razor konfigurálására szolgálnak.

Items Description
RazorGenerate Elemelemek (.cshtml fájlok), amelyek a kódgenerálás bemenetei.
RazorComponent Azok az elemek (.razor fájlok), amelyek az Razor összetevő kódgenerálás bemenetei.
RazorCompile Elemek (.cs fájlok), amelyek inputként szolgálnak Razor fordítási célokhoz. Ezzel ItemGroup adhatja meg a fordítandó további fájlokat az Razor assemblyhez.
RazorTargetAssemblyAttribute Az szerelvény attribútumainak Razor létrehozásához használt elemelemek. Például:
RazorAssemblyAttribute
Include="System.Reflection.AssemblyMetadataAttribute"
_Parameter1="BuildSource" _Parameter2="https://learn.microsoft.com/">
RazorEmbeddedResource A létrehozott Razor szerelvényhez beágyazott erőforrásként hozzáadott elemelemek.
Property Description
RazorTargetName A(z) által Razorelőállított szerelvény fájlneve (kiterjesztés nélkül).
RazorOutputPath A Razor kimeneti könyvtár.
RazorCompileToolset A szerelvény létrehozásához Razor használt eszközkészlet meghatározására szolgál. Az érvényes értékek a következők: Implicit, RazorSDKés PrecompilationTool.
EnableDefaultContentItems Az alapértelmezett érték true. Amikor true a web.config, .json és .cshtml fájlokat tartalmaz tartalomként a projektben. A hivatkozás Microsoft.NET.Sdk.Websorán a wwwroot és a konfigurációs fájlok alatti fájlok is szerepelnek.
EnableDefaultRazorGenerateItems Amikor true, .cshtml fájlokat tartalmaz Content, amelyek RazorGenerate elemekből származnak.
GenerateRazorTargetAssemblyInfo Amikor true, létrejön egy .cs fájl, amely RazorAssemblyAttribute által megadott attribútumokat tartalmaz, és belekerül a fordítási kimenetbe.
EnableDefaultRazorTargetAssemblyInfoAttributes Amikor true, a rendszer alapértelmezett szerelvényattribútum-készletet ad hozzá a RazorAssemblyAttribute elemhez.
CopyRazorGenerateFilesToPublishDirectory Amikor true fájlokkal ellátott elemeket (RazorGenerate) másol .cshtml a közzétételi könyvtárba. A közzétett alkalmazásokhoz általában nincs szükség fájlokra, Razor ha az alkotási vagy közzétételi folyamat során vesznek részt az összeállításban. Alapértelmezett érték: false.
CopyRefAssembliesToPublishDirectory Amikor true, másolja a hivatkozási szerelvény elemeit a közzétételi könyvtárba. Általában nincs szükség referencia összeállításokra a közzétett alkalmazások esetében, ha a Razor fordítás buildelési vagy közzétételi időpontban történik. Állítsa true értékre, ha a közzétett alkalmazás futásidejű fordítást igényel. Állítsa be például az értéket arra az esetre true , ha az alkalmazás futásidőben módosítja .cshtml a fájlokat, vagy beágyazott nézeteket használ. Alapértelmezett érték: false.
IncludeRazorContentInPack Amikor truea rendszer az összes Razor tartalomelemet (.cshtml fájlt) megjelöli a létrehozott NuGet-csomagba való felvételhez. Alapértelmezett érték: false.
EmbedRazorGenerateSources Amikor truea RazorGenerate (.cshtml) elemeket beágyazott fájlként adja hozzá a létrehozott Razor szerelvényhez. Alapértelmezett érték: false.
UseRazorBuildServer Amikor truea rendszer állandó buildkiszolgáló-folyamatot használ a kódgenerálási munka kiszervezéséhez. Alapértelmezés szerint az érték: UseSharedCompilation.
GenerateMvcApplicationPartsAssemblyAttributes Amikor trueaz SDK további attribútumokat hoz létre, amelyeket az MVC használ futásidőben az alkalmazásrészek felderítéséhez.
DefaultWebContentItemExcludes A webes vagy Content SDK-t megcélzó projektek Razor elemcsoportjából kizárandó elemek mintázata
ExcludeConfigFilesFromBuildOutput Amikor true.config és .json fájlok nem másolódnak át a felépítés kimeneti könyvtárába.
AddRazorSupportForMvc Amikor trueaz Razor SDK-t úgy konfigurálja, hogy támogatást adjon az MVC-konfigurációhoz, amely MVC-nézeteket vagy Razor oldalakat tartalmazó alkalmazások létrehozásakor szükséges. Ez a tulajdonság implicit módon van beállítva a webes SDK-t célzó .NET Core 3.0-s vagy újabb projektekhez
RazorLangVersion A megcélzandó nyelv verziója Razor .

További információ a tulajdonságokról: MSBuild properties.

Targets

Az Razor SDK két elsődleges célt határoz meg:

  • RazorGenerate: A kód .cs elemekből hoz létre RazorGenerate fájlokat. RazorGenerateDependsOn A tulajdonság használatával további célokat adhat meg, amelyek a cél előtt vagy után futtathatók.
  • RazorCompile: Az elkészült .cs fájlokat egy Razor egységbe fordítja le. RazorCompileDependsOn A használatával további célokat adhat meg, amelyek a cél előtt vagy után futtathatók.
  • RazorComponentGenerate: A kód .cs fájlokat hoz létre a RazorComponent elem elemek számára. RazorComponentGenerateDependsOn A tulajdonság használatával további célokat adhat meg, amelyek a cél előtt vagy után futtathatók.

Futtatókörnyezeti nézetek fordítása Razor

  • Alapértelmezés szerint az Razor SDK nem tesz közzé olyan referenciaszerelvényeket, amelyek a futtatókörnyezet fordításához szükségesek. Ez fordítási hibákat eredményez, ha az alkalmazásmodell futásidejű fordításra támaszkodik – például beágyazott nézeteket használ, vagy módosítja a nézeteket az alkalmazás közzététele után. Állítsa be CopyRefAssembliesToPublishDirectory a true referenciaszerelvények közzétételének folytatásához.

  • Webalkalmazások esetén győződjön meg arról, hogy az alkalmazás az Microsoft.NET.Sdk.Web SDK-t célozza.

Razor nyelvi verzió

Az SDK megcélzásakor a Microsoft.NET.Sdk.Web nyelvi verziót az alkalmazás Razor cél-keretrendszerének verziója határozza meg. Az SDK-t megcélzó Microsoft.NET.Sdk.Razor projektek esetében, vagy abban az esetben, ha az alkalmazásnak a várt értékétől eltérő Razor nyelvi verzióra van szüksége, a verzió az alkalmazás projektfájljában lévő tulajdonság beállításával <RazorLangVersion> konfigurálható:

<PropertyGroup>
  <RazorLangVersion>{VERSION}</RazorLangVersion>
</PropertyGroup>

RazorA nyelvi verzió szorosan integrálva van annak a futtatókörnyezetnek a verziójával, amelyhez készült. A nem a futtatókörnyezethez tervezett nyelvi verzió megcélzása nem támogatott, és valószínűleg buildelési hibákat okoz.

További erőforrások