ASP.NET Core Razor 'SıNıN
Gönderen Rick Anderson
Genel Bakış
, .NET 6,0 SDK Microsoft.NET.Sdk.Razor MSBuild sdk 'yı ( Razor sdk) içerir. RazorSDK:
- RazorASP.NET Core MVC tabanlı veya projeleri için dosya içeren projeleri derlemek, paketlemek ve yayımlamak için gereklidir Blazor .
- Önceden tanımlanmış bir özellikler kümesi ve Razor (. cshtml veya . Razor) dosyalarının derlemesini özelleştirmeye izin veren öğeleri içerir.
RazorSDK, Content Include **\*.cshtml ve **\*.razor Glob desenlerine ayarlanmış öznitelikleri olan öğeleri içerir. Eşleşen dosyalar yayımlandı.
Önkoşullar
RazorSDK 'yı kullanma
Çoğu Web uygulaması SDK 'ya açık olarak başvurmak için gerekli değildir Razor .
RazorSDK 'yı, görünümler veya sayfalar içeren sınıf kitaplıkları oluşturmak üzere kullanmak için Razor Razor , Razor sınıf kitaplığı (RCL) proje şablonuyla başlamasını öneririz. Blazor(. Razor) dosyalarını derlemek için kullanılan bir RCL, Microsoft. aspnetcore. Components paketine en az bir başvuru gerektirir. RazorGörünümleri veya sayfaları (. cshtml dosyaları) oluşturmak için kullanılan bir RCL netcoreapp3.0 , hedeflemesi veya daha yenisini gerektirir ve FrameworkReference onun proje dosyasında Microsoft.AspNetCore.app metapackage öğesine sahip olmalıdır.
Özellikler
Aşağıdaki özellikler, Razor proje derlemesinin bir parçası olarak SDK davranışını denetler:
RazorCompileOnBuild: Ne zamantrue, Razor derlemeyi proje oluşturmanın bir parçası olarak derler ve yayar. Varsayılan olarak olurtrue.RazorCompileOnPublish: Ne zamantrue, Razor derlemeyi proje yayımlamanın bir parçası olarak derler ve yayar. Varsayılan olarak olurtrue.
Aşağıdaki tablodaki Özellikler ve öğeler, SDK 'ya giriş ve çıkış yapılandırmak için kullanılır Razor .
| Öğeler | Açıklama |
|---|---|
RazorGenerate |
Kod oluşturmaya giriş olan öğe öğeleri (. cshtml dosyaları). |
RazorComponent |
Bileşen kodu oluşturmaya giriş olan öğe öğeleri (. Razor dosyaları) Razor . |
RazorCompile |
Derleme hedeflerine giriş olan öğe öğeleri (. cs dosyaları) Razor . ItemGroupDerlemeye derlenecek ek dosyaları belirtmek için bunu kullanın Razor . |
RazorEmbeddedResource |
Oluşturulan derlemeye gömülü kaynaklar olarak eklenen öğe öğeleri Razor . |
| Özellik | Açıklama |
|---|---|
RazorOutputPath |
RazorÇıkış dizini. |
RazorCompileToolset |
Derlemeyi derlemek için kullanılan araç takımını tespit etmek için kullanılır Razor . Geçerli değerler Implicit , RazorSDK , ve PrecompilationTool . |
| Enabledefaultcontentıtems | true varsayılan değerdir. Ne zaman true , web.config, . JSON ve . cshtml dosyalarını projede içerik olarak içerir. Aracılığıyla başvurulduğunda Microsoft.NET.Sdk.Web , Wwwroot ve yapılandırma dosyaları altındaki dosyalar da dahil edilmiştir. |
EnableDefaultRazorGenerateItems |
Ne zaman true , öğelerdeki öğelerden . cshtml dosyalarını içerir Content RazorGenerate . |
GenerateRazorTargetAssemblyInfo |
.NET 6 ve üzeri sürümlerde kullanılmaz. |
EnableDefaultRazorTargetAssemblyInfoAttributes |
.NET 6 ve üzeri sürümlerde kullanılmaz. |
CopyRazorGenerateFilesToPublishDirectory |
Ne zaman true , RazorGenerate öğe (. cshtml) dosyalarını yayımlama dizinine kopyalar. Genellikle, derleme Razor zamanında veya yayımlama zamanında derlemeye katılırsanız yayımlanmış bir uygulama için dosyalar gerekli değildir. Varsayılan olarak olur false . |
PreserveCompilationReferences |
Ne zaman true , başvuru derleme öğelerini yayımlama dizinine kopyalayın. Genellikle, derleme Razor zamanında veya yayımlama zamanında derleme gerçekleşirse yayımlanmış bir uygulama için başvuru derlemeleri gerekli değildir. trueYayımlanmış uygulamanız çalışma zamanı derlemesi gerektiriyorsa, olarak ayarlayın. Örneğin, true uygulama çalışma zamanında . cshtml dosyalarını değiştirirse veya gömülü görünümleri kullanıyorsa, değerini olarak ayarlayın. Varsayılan olarak olur false . |
IncludeRazorContentInPack |
ne zaman true , tüm Razor içerik öğeleri (. cshtml dosyaları) oluşturulan NuGet paketine eklenmek üzere işaretlenir. Varsayılan olarak olur false . |
EmbedRazorGenerateSources |
Ne zaman true , Razor oluşturulan derlemeye katıştırılmış dosyalar olarak Generate (. cshtml) öğeleri ekler Razor . Varsayılan olarak olur false . |
GenerateMvcApplicationPartsAssemblyAttributes |
.NET 6 ve üzeri sürümlerde kullanılmaz. |
DefaultWebContentItemExcludes |
ContentWeb veya SDK 'yı hedefleyen projelerde öğe grubundan çıkarılacak öğe öğeleri için glob bir model Razor |
ExcludeConfigFilesFromBuildOutput |
Ne zaman true , .config ve . JSON dosyaları derleme çıkış dizinine kopyalanmaz. |
AddRazorSupportForMvc |
Ne zaman true , Razor MVC görünümlerini veya sayfalarını içeren uygulamalar oluştururken gereklı olan MVC yapılandırmasına yönelik destek eklemek için SDK 'yı yapılandırır Razor . Bu özellik, Web SDK 'sını hedefleyen .NET Core 3,0 veya üzeri projeler için örtük olarak ayarlanmıştır |
RazorLangVersion |
RazorHedeflenecek dilin sürümü. |
EmitCompilerGeneratedFiles |
Olarak ayarlandığında true , oluşturulan kaynak dosyalar diske yazılır. Ayarı true , derleyicide hata ayıklanırken faydalıdır. Varsayılan değer: false. |
özellikler hakkında daha fazla bilgi için bkz. MSBuild özellikleri.
Görünümlerin çalışma zamanı derlemesi Razor
Varsayılan olarak SDK, Razor çalışma zamanı derlemesini gerçekleştirmek için gerekli olan başvuru derlemelerini yayımlamaz. Bu durum, uygulama modeli çalışma zamanı derlemesini kullandığında derleme hatalarıyla sonuçlanır — . uygulama yayımlandıktan sonra uygulama gömülü görünümleri veya değişiklik görünümlerini kullanır.
CopyRefAssembliesToPublishDirectorytrueBaşvuru derlemelerini yayımlamaya devam etmek için olarak ayarlayın. Hem kod oluşturma hem de derleme derleyiciye tek bir çağrı tarafından desteklenir. Uygulama türlerini ve üretilen görünümleri içeren tek bir bütünleştirilmiş kod oluşturulur.Bir Web uygulaması için uygulamanızın SDK 'yı hedeflediğinden emin olun
Microsoft.NET.Sdk.Web.
Razor dil sürümü
Microsoft.NET.Sdk.WebSDK 'yı hedeflerken, Razor dil sürümü uygulamanın hedef Framework sürümünden algılanır. SDK 'yı hedefleyen projeler Microsoft.NET.Sdk.Razor veya uygulamanın Razor çıkarılan değerden farklı bir dil sürümü gerektirmesi durumunda, <RazorLangVersion> uygulamanın proje dosyasındaki özelliği ayarlanarak bir sürüm yapılandırılabilir:
<PropertyGroup>
<RazorLangVersion>{VERSION}</RazorLangVersion>
</PropertyGroup>
Razordil sürümü, için oluşturulduğu çalışma zamanının sürümü ile sıkı bir şekilde tümleşiktir. Çalışma zamanı için tasarlanmamış bir dil sürümünü hedeflemek desteklenmez ve muhtemelen derleme hataları üretir.
Ek kaynaklar
, .NET Core 2.1 SDK veya üzeri Microsoft.NET.Sdk.Razor MSBuild sdk 'yı ( Razor sdk) içerir. RazorSDK:
- RazorASP.NET Core MVC tabanlı veya projeleri için dosya içeren projeleri derlemek, paketlemek ve yayımlamak için gereklidir Blazor .
- Razor(. Cshtml veya . Razor) dosyalarının derlemesini özelleştirmeye izin veren bir dizi önceden tanımlanmış hedef, özellik ve öğe içerir.
RazorSDK, Content Include **\*.cshtml ve **\*.razor Glob desenlerine ayarlanmış öznitelikleri olan öğeleri içerir. Eşleşen dosyalar yayımlandı.
Önkoşullar
RazorSDK 'yı kullanma
Çoğu Web uygulaması SDK 'ya açık olarak başvurmak için gerekli değildir Razor .
RazorSDK 'yı, görünümler veya sayfalar içeren sınıf kitaplıkları oluşturmak üzere kullanmak için Razor Razor , Razor sınıf kitaplığı (RCL) proje şablonuyla başlamasını öneririz. Blazor(. Razor) dosyalarını derlemek için kullanılan bir RCL, Microsoft. aspnetcore. Components paketine en az bir başvuru gerektirir. RazorGörünümleri veya sayfaları (. cshtml dosyaları) oluşturmak için kullanılan bir RCL netcoreapp3.0 , hedeflemesi veya daha yenisini gerektirir ve FrameworkReference onun proje dosyasında Microsoft.AspNetCore.app metapackage öğesine sahip olmalıdır.
Özellikler
Aşağıdaki özellikler, Razor proje derlemesinin bir parçası olarak SDK davranışını denetler:
RazorCompileOnBuild: Ne zamantrue, Razor derlemeyi proje oluşturmanın bir parçası olarak derler ve yayar. Varsayılan olarak olurtrue.RazorCompileOnPublish: Ne zamantrue, Razor derlemeyi proje yayımlamanın bir parçası olarak derler ve yayar. Varsayılan olarak olurtrue.
Aşağıdaki tablodaki Özellikler ve öğeler, SDK 'ya giriş ve çıkış yapılandırmak için kullanılır Razor .
Uyarı
ASP.NET Core 3,0 ' den başlayarak, Razor RazorCompileOnBuild RazorCompileOnPublish proje dosyasındaki veya MSBuild özellikleri devre dışı bırakılmışsa MVC görünümleri veya sayfaları varsayılan olarak sunulmuyor. Uygulamalar, Microsoft.AspNetCore.Mvc. için açık bir başvuru eklemeli. Razor . Uygulama .cshtml dosyalarını işlemeye çalışma zamanı derlemesi bağlı ise RuntimeCompilation paketi.
| Öğeler | Açıklama |
|---|---|
RazorGenerate |
Kod oluşturma için giriş olan öğe öğeleri (.cshtml dosyaları). |
RazorComponent |
Bileşen kodu oluşturma için giriş olan öğe öğeleri (.razor Razor dosyaları). |
RazorCompile |
Derleme hedeflerine giriş olan öğe öğeleri (.cs Razor dosyaları). Derlemede ItemGroup derlenecek ek dosyaları belirtmek için bunu Razor kullanın. |
RazorTargetAssemblyAttribute |
Derleme için öznitelikler oluşturmak için kod kullanılan öğe Razor öğeleri. Örnek: RazorAssemblyAttributeInclude="System.Reflection.AssemblyMetadataAttribute"_Parameter1="BuildSource" _Parameter2="https://docs.microsoft.com/"> |
RazorEmbeddedResource |
Oluşturulan derlemeye eklenmiş kaynaklar olarak eklenen öğe Razor öğeleri. |
| Özellik | Açıklama |
|---|---|
RazorTargetName |
tarafından üretilen derlemenin dosya adı (uzantı Razor olmadan). |
RazorOutputPath |
Çıkış Razor dizini. |
RazorCompileToolset |
Derlemeyi derlemek için kullanılan araç kümesi belirlemek için Razor kullanılır. Geçerli değerler Implicit : , ve RazorSDK PrecompilationTool . |
| EnableDefaultContentItems | true varsayılan değerdir. trueolduğunda, web.config, .json ve .cshtml dosyalarını içerir. üzerinden Microsoft.NET.Sdk.Web başvurulsa, wwwroot ve yapılandırma dosyaları altındaki dosyalar da dahil edilir. |
EnableDefaultRazorGenerateItems |
trueolduğunda, öğelerdeki öğelerden .cshtml Content dosyalarını RazorGenerate içerir. |
GenerateRazorTargetAssemblyInfo |
olduğunda, true tarafından belirtilen öznitelikleri içeren bir .cs dosyası oluşturur RazorAssemblyAttribute ve dosyayı derleme çıkışına içerir. |
EnableDefaultRazorTargetAssemblyInfoAttributes |
olduğunda, true 'ye varsayılan bir derleme öznitelikleri kümesi RazorAssemblyAttribute ekler. |
CopyRazorGenerateFilesToPublishDirectory |
olduğunda true öğeleri RazorGenerate (.cshtml) yayımlama dizinine kopyalar. Genellikle derleme zamanında veya yayımlama zamanında derlemeye katılan yayımlanmış bir uygulama için Razor dosyalar gerekli değildir. Varsayılan olarak false kullanılır. |
PreserveCompilationReferences |
olduğunda, true başvuru derleme öğelerini yayımlama dizinine kopyalayın. Derleme derleme zamanında veya yayımlama zamanında gerçekleşirse, genellikle, yayımlanmış bir uygulama için Razor başvuru derlemeleri gerekli değildir. Yayımlanmış true uygulamanız çalışma zamanı derlemesi gerektiriyorsa olarak ayarlayın. Örneğin, uygulama çalışma zamanında true .cshtml dosyalarını veya katıştırılmış görünümleri kullanıyorsa değerini olarak ayarlayın. Varsayılan olarak false kullanılır. |
IncludeRazorContentInPack |
olduğunda, true tüm içerik öğeleri ( Razor .cshtml dosyaları) oluşturulan pakete dahil NuGet işaretlenir. Varsayılan olarak false kullanılır. |
EmbedRazorGenerateSources |
trueolduğunda, Razor Generate (.cshtml) öğelerini, oluşturulan derlemeye katıştırılmış dosyalar olarak Razor ekler. Varsayılan olarak false kullanılır. |
UseRazorBuildServer |
olduğunda, true kod oluşturma işlemini boşaltmak için kalıcı bir derleme sunucusu işlemi kullanır. Varsayılan olarak değerini UseSharedCompilation kullanır. |
GenerateMvcApplicationPartsAssemblyAttributes |
olduğunda true SDK, uygulama parçası bulma işlemini gerçekleştirmek için çalışma zamanında MVC tarafından kullanılan ek öznitelikler üretir. |
DefaultWebContentItemExcludes |
Web veya SDK'yı hedef alan projelerde öğe grubundan hariç tutulacak öğe öğeleri için bir Content globing Razor deseni |
ExcludeConfigFilesFromBuildOutput |
true, .config ve .json dosyaları derleme çıkış dizinine kopyalanmaz. |
AddRazorSupportForMvc |
olduğunda, SDK'yı MVC görünümleri veya Sayfaları içeren uygulamalar yapılandırılırken gereken MVC yapılandırması için true destek eklemek üzere Razor Razor yapılandırıyor. Bu özellik, Web SDK'yı hedef alan .NET Core 3.0 veya sonraki projeler için örtülü olarak ayarlanır |
RazorLangVersion |
Hedef dil Razor sürümü. |
Özellikler hakkında daha fazla bilgi için bkz. MSBuild .
Targets
RazorSDK iki birincil hedef tanımlar:
RazorGenerate: Kod, öğe öğelerinden .csRazorGeneratedosyaları üretir. BuRazorGenerateDependsOnhedef öncesinde veya sonrasında çalıştıracak ek hedefler belirtmek için özelliğini kullanın.RazorCompile: Içinde oluşturulan .cs dosyalarını bir derlemeye Razor derler. Bu hedefRazorCompileDependsOnöncesinde veya sonrasında çalıştıracak ek hedefler belirtmek için kullanın.RazorComponentGenerate: Kod, öğe öğeleri için .csRazorComponentdosyaları üretir. BuRazorComponentGenerateDependsOnhedef öncesinde veya sonrasında çalıştıracak ek hedefler belirtmek için özelliğini kullanın.
Görünümlerin çalışma zamanı Razor derlemesi
Varsayılan olarak Razor SDK, çalışma zamanı derlemesi gerçekleştirmek için gereken başvuru derlemelerini yayımlamaz. Bu, uygulama modeli çalışma zamanı derlemesini kullandığında derleme hatalarına neden olur. Örneğin uygulama, eklenmiş görünümleri kullanır veya uygulama — yayımlandıktan sonra görünümleri değiştirir. Başvuru
CopyRefAssembliesToPublishDirectorytruederlemelerini yayımlamaya devam etmek için olarak ayarlayın.Bir web uygulaması için, uygulamanın SDK'yı hedefleyenin.
Microsoft.NET.Sdk.Web
Razor dil sürümü
SDK'yı Microsoft.NET.Sdk.Web hedeflerken Razor dil sürümü, uygulamanın hedef çerçeve sürümünden edinildi. SDK'yı hedef alan projeler için veya uygulamanın, görülen değerden farklı bir dil sürümü gerektirdiği nadir durumlarda, uygulamanın proje dosyasındaki özelliği ayararak bir sürüm Microsoft.NET.Sdk.Razor Razor <RazorLangVersion> yalıtabilirsiniz:
<PropertyGroup>
<RazorLangVersion>{VERSION}</RazorLangVersion>
</PropertyGroup>
Razor'nin dil sürümü, çalışma zamanının yerleşik sürümüyle sıkı bir şekilde tümleştirilmiştir. Çalışma zamanı için tasarlanmamış bir dil sürümünü hedefleme desteklenmez ve büyük olasılıkla derleme hataları üretir.
Ek kaynaklar
- MVC tabanlı projeler için dosya içeren projelerin ASP.NET Core, Razor paketleme ve yayımlama deneyimini standart hale getirebilirsiniz.
- Dosyaların derlemesini özelleştirmeye olanak sağlayan önceden tanımlanmış hedefler, özellikler ve öğeler kümesi Razor içerir.
RazorSDK, glob Content desene Include ayarlanmış bir öznitelik içeren bir öğe **\*.cshtml içerir. Eşleşen dosyalar yayımlanır.
Önkoşullar
RazorSDK'yı kullanma
Çoğu web uygulaması, SDK'ya açıkça başvurarak gerekli Razor değildir.
Sdk'yı Razor kullanarak görünümler veya Sayfalar içeren sınıf Razor kitaplıkları oluşturmak Razor için:
yerine
Microsoft.NET.Sdk.RazorMicrosoft.NET.Sdkkullanın:<Project SDK="Microsoft.NET.Sdk.Razor"> <!-- omitted for brevity --> </Project>Genellikle, Sayfaları ve görünümleri derlemek ve derlemek için gereken ek bağımlılıkları
Microsoft.AspNetCore.Mvcalmak için bir paket başvurusu Razor Razor gerekir. En azından, projeniz paket başvurularını şu kaynaklara ekleli:Microsoft.AspNetCore.Razor.DesignMicrosoft.AspNetCore.Mvc.Razor.ExtensionsMicrosoft.AspNetCore.Mvc.Razor
Paket,
Microsoft.AspNetCore.Razor.Designproje için derleme görevlerini ve Razor hedeflerini sağlar.Yukarıdaki paketler içinde yer
Microsoft.AspNetCore.Mvcalmaktadır. Aşağıdaki işaretleme, ASP.NET Core Pages uygulaması için dosya derlemek için Razor Razor SDK'yı kullanan bir Razor proje dosyasını gösterir:<Project Sdk="Microsoft.NET.Sdk.Razor"> <PropertyGroup> <TargetFramework>netcoreapp2.1</TargetFramework> </PropertyGroup> <ItemGroup> <PackageReference Include="Microsoft.AspNetCore.Mvc" Version="2.1.3" /> </ItemGroup> </Project>
Uyarı
ve Microsoft.AspNetCore.Razor.Design Microsoft.AspNetCore.Mvc.Razor.Extensions paketleri, meta Microsoft.AspNetCore.App dahil edilir. Ancak, sürüm olmayan paket başvurusu, uygulamaya en son sürümünü dahil olmayan Microsoft.AspNetCore.App bir meta paket Microsoft.AspNetCore.Razor.Design sağlar. Projelerin tutarlı bir sürümüne Microsoft.AspNetCore.Razor.Design (veya Microsoft.AspNetCore.Mvc ) başvurarak en son derleme zamanı düzeltmelerinin dahil Razor olması gerekir. Daha fazla bilgi için bu soruna GitHub bakın.
Özellikler
Aşağıdaki özellikler proje Razor derlemesi kapsamında SDK davranışını kontrol altına almaktadır:
RazorCompileOnBuild:trueolduğunda, derlemeyi proje Razor derlemenin bir parçası olarak derler ve yalıtır. Varsayılan olaraktruekullanılır.RazorCompileOnPublish:trueolduğunda, derlemeyi projeyi yayımlamanın Razor bir parçası olarak derler ve yalıtır. Varsayılan olaraktruekullanılır.
Sdk'ya giriş ve çıkış yapılandırmak için aşağıdaki tablodaki özellikler ve Razor öğeler kullanılır.
| Öğeler | Açıklama |
|---|---|
RazorGenerate |
Kod oluşturma için giriş olan öğe öğeleri (.cshtml dosyaları). |
RazorComponent |
Bileşen kodu oluşturma için giriş olan öğe öğeleri (.razor Razor dosyaları). |
RazorCompile |
Derleme hedeflerine giriş olan öğe öğeleri (.cs Razor dosyaları). Derlemede ItemGroup derlenecek ek dosyaları belirtmek için bunu Razor kullanın. |
RazorTargetAssemblyAttribute |
Derleme için öznitelikler oluşturmak için kod kullanılan öğe Razor öğeleri. Örnek: RazorAssemblyAttributeInclude="System.Reflection.AssemblyMetadataAttribute"_Parameter1="BuildSource" _Parameter2="https://docs.microsoft.com/"> |
RazorEmbeddedResource |
Oluşturulan derlemeye eklenmiş kaynaklar olarak eklenen öğe Razor öğeleri. |
| Özellik | Açıklama |
|---|---|
RazorTargetName |
Tarafından üretilen derlemenin dosya adı (uzantısı olmadan) Razor . |
RazorOutputPath |
RazorÇıkış dizini. |
RazorCompileToolset |
Derlemeyi derlemek için kullanılan araç takımını tespit etmek için kullanılır Razor . Geçerli değerler Implicit , RazorSDK , ve PrecompilationTool . |
| Enabledefaultcontentıtems | true varsayılan değerdir. Ne zaman true , web.config, . JSON ve . cshtml dosyalarını projede içerik olarak içerir. Aracılığıyla başvurulduğunda Microsoft.NET.Sdk.Web , Wwwroot ve yapılandırma dosyaları altındaki dosyalar da dahil edilmiştir. |
EnableDefaultRazorGenerateItems |
Ne zaman true , öğelerdeki öğelerden . cshtml dosyalarını içerir Content RazorGenerate . |
GenerateRazorTargetAssemblyInfo |
Ne zaman true , tarafından belirtilen öznitelikleri içeren bir . cs dosyası oluşturur RazorAssemblyAttribute ve derleme çıkışında dosyasını içerir. |
EnableDefaultRazorTargetAssemblyInfoAttributes |
Ne zaman true , ' a bir varsayılan derleme öznitelikleri kümesi ekler RazorAssemblyAttribute . |
CopyRazorGenerateFilesToPublishDirectory |
Ne zaman true , RazorGenerate öğe (. cshtml) dosyalarını yayımlama dizinine kopyalar. Genellikle, derleme Razor zamanında veya yayımlama zamanında derlemeye katılırsanız yayımlanmış bir uygulama için dosyalar gerekli değildir. Varsayılan olarak olur false . |
CopyRefAssembliesToPublishDirectory |
Ne zaman true , başvuru derleme öğelerini yayımlama dizinine kopyalayın. Genellikle, derleme Razor zamanında veya yayımlama zamanında derleme gerçekleşirse yayımlanmış bir uygulama için başvuru derlemeleri gerekli değildir. trueYayımlanmış uygulamanız çalışma zamanı derlemesi gerektiriyorsa, olarak ayarlayın. Örneğin, true uygulama çalışma zamanında . cshtml dosyalarını değiştirirse veya gömülü görünümleri kullanıyorsa, değerini olarak ayarlayın. Varsayılan olarak olur false . |
IncludeRazorContentInPack |
ne zaman true , tüm Razor içerik öğeleri (. cshtml dosyaları) oluşturulan NuGet paketine eklenmek üzere işaretlenir. Varsayılan olarak olur false . |
EmbedRazorGenerateSources |
Ne zaman true , Razor oluşturulan derlemeye katıştırılmış dosyalar olarak Generate (. cshtml) öğeleri ekler Razor . Varsayılan olarak olur false . |
UseRazorBuildServer |
Ne zaman true , kod oluşturma işinin yükünü boşaltmak için kalıcı bir yapı sunucusu işlemi kullanır. Varsayılan değer olarak değeridir UseSharedCompilation . |
GenerateMvcApplicationPartsAssemblyAttributes |
Ne zaman true , SDK, uygulama bölümü keşfi gerçekleştirmek için çalışma ZAMANıNDA MVC tarafından kullanılan ek öznitelikler üretir. |
DefaultWebContentItemExcludes |
ContentWeb veya SDK 'yı hedefleyen projelerde öğe grubundan çıkarılacak öğe öğeleri için glob bir model Razor |
ExcludeConfigFilesFromBuildOutput |
Ne zaman true , .config ve . JSON dosyaları derleme çıkış dizinine kopyalanmaz. |
AddRazorSupportForMvc |
Ne zaman true , Razor MVC görünümlerini veya sayfalarını içeren uygulamalar oluştururken gereklı olan MVC yapılandırmasına yönelik destek eklemek için SDK 'yı yapılandırır Razor . Bu özellik, Web SDK 'sını hedefleyen .NET Core 3,0 veya üzeri projeler için örtük olarak ayarlanmıştır |
RazorLangVersion |
RazorHedeflenecek dilin sürümü. |
özellikler hakkında daha fazla bilgi için bkz. MSBuild özellikleri.
Targets
RazorSDK iki birincil hedefi tanımlar:
RazorGenerate: Kod, öğe öğelerinden . cs dosyaları oluştururRazorGenerate.RazorGenerateDependsOnBu hedeften önce veya sonra çalışabilecek ek hedefleri belirtmek için özelliğini kullanın.RazorCompile: İçinde oluşturulan . cs dosyalarını derleme için derler Razor .RazorCompileDependsOnBu hedeften önce veya sonra çalışabilecek ek hedefleri belirtmek için öğesini kullanın.RazorComponentGenerate: Kod, öğe öğeleri için . cs dosyaları oluştururRazorComponent.RazorComponentGenerateDependsOnBu hedeften önce veya sonra çalışabilecek ek hedefleri belirtmek için özelliğini kullanın.
Görünümlerin çalışma zamanı derlemesi Razor
Varsayılan olarak SDK, Razor çalışma zamanı derlemesini gerçekleştirmek için gerekli olan başvuru derlemelerini yayımlamaz. Bu durum, uygulama modeli çalışma zamanı derlemesini kullandığında derleme hatalarıyla sonuçlanır — . uygulama yayımlandıktan sonra uygulama gömülü görünümleri veya değişiklik görünümlerini kullanır.
CopyRefAssembliesToPublishDirectorytrueBaşvuru derlemelerini yayımlamaya devam etmek için olarak ayarlayın.Bir Web uygulaması için uygulamanızın SDK 'yı hedeflediğinden emin olun
Microsoft.NET.Sdk.Web.
Razor dil sürümü
Microsoft.NET.Sdk.WebSDK 'yı hedeflerken, Razor dil sürümü uygulamanın hedef Framework sürümünden algılanır. SDK 'yı hedefleyen projeler Microsoft.NET.Sdk.Razor veya uygulamanın Razor çıkarılan değerden farklı bir dil sürümü gerektirmesi durumunda, <RazorLangVersion> uygulamanın proje dosyasındaki özelliği ayarlanarak bir sürüm yapılandırılabilir:
<PropertyGroup>
<RazorLangVersion>{VERSION}</RazorLangVersion>
</PropertyGroup>
Razordil sürümü, için oluşturulduğu çalışma zamanının sürümü ile sıkı bir şekilde tümleşiktir. Çalışma zamanı için tasarlanmamış bir dil sürümünü hedeflemek desteklenmez ve muhtemelen derleme hataları üretir.