Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Gönderen Rick Anderson
Overview
.NET 6 SDK'sı MSBuild SDK'sını Microsoft.NET.Sdk.Razor (Razor SDK) içerir. Bu Razor SDK:
- ASP.NET Core MVC tabanlı veya projelerin dosyalarını içeren Razor projeleri derlemek, paketlemek ve Blazor yayımlamak için gereklidir.
- Önceden tanımlanmış bir özellik kümesi ve (Razor veya
.cshtml) dosyalarının.razorderlenmesini özelleştirmeye olanak sağlayan öğeler içerir.
SDK, Razor ve Content globbing desenlerine ayarlanmış Include öznitelikleri olan **\*.cshtml öğeler içerir**\*.razor. Eşleşen dosyalar yayımlanır.
Prerequisites
SDK'yi Razor kullanma
Çoğu web uygulamasının SDK'ya açıkça başvurması Razor gerekmez.
SDK'yı Razor kullanarak görünümler veya Razor Sayfalar içeren Razor sınıf kitaplıkları oluşturmak için sınıf kitaplığı (RCL) proje şablonuyla Razor başlamanızı öneririz. En az sayıda dosya oluşturmak Blazor (.razor) için kullanılan bir RCL için Microsoft.AspNetCore.Components paketine başvuru yapılması gerekir. Görünümler veya sayfalar (Razordosyalar) oluşturmak .cshtml için kullanılan bir RCL en az hedefleme netcoreapp3.0 veya sonraki bir sürümü gerektirir ve FrameworkReferenceproje dosyasındaki Microsoft.AspNetCore.App meta paketine sahiptir.
Properties
Aşağıdaki özellikler, proje derlemesinin Razorbir parçası olarak 'nin SDK davranışını denetler:
-
RazorCompileOnBuild: olduğundatrue, derlemeyi Razor derler ve projeyi oluşturmanın bir parçası olarak yayar. varsayılan değeridirtrue. -
RazorCompileOnPublish: olduğundatrue, derlemeyi Razor derler ve projeyi yayımlamanın bir parçası olarak yayar. varsayılan değeridirtrue. -
UseRazorSourceGenerator: varsayılan değeridirtrue. Zamanı:true- Kaynak oluşturma kullanarak derler.
- oluşturmaz
<app_name>.Views.dll. Görünümler içinde<app_name>.dllbulunur. - .NET Çalışırken Yeniden Yükleme destekler.
Aşağıdaki tabloda yer alan özellikler ve öğeler, SDK'ya yönelik girişleri ve çıktıları yapılandırmak için Razor kullanılır.
| Items | Description |
|---|---|
RazorGenerate |
Kod oluşturma işlemine giriş olan öğe öğeleri (.cshtml dosyalar). |
RazorComponent |
Bileşen kodu oluşturma işlemine .razor giriş olan öğe öğeleri (Razordosyalar). |
RazorCompile |
Derleme hedeflerine .cs giriş olan öğe öğeleri (Razordosyalar). Derlemede ItemGroup derlenecek ek dosyaları belirtmek için bunu Razor kullanın. |
RazorEmbeddedResource |
Oluşturulan Razor derlemeye ekli kaynaklar olarak eklenen öğe öğeleri. |
| Property | Description |
|---|---|
RazorOutputPath |
Çıkış Razor dizini. |
RazorCompileToolset |
Derlemeyi derlemek için kullanılan araç takımını Razor belirlemek için kullanılır. Geçerli değerler: Implicit, RazorSDK ve PrecompilationTool. |
| EnableDefaultContentItems | Varsayılan true değeridir. olduğundatrue, projede içerik olarak web.config. aracılığıyla Microsoft.NET.Sdk.Webbaşvurulduğunda, wwwroot ve yapılandırma dosyaları altındaki dosyalar da eklenir. |
EnableDefaultRazorGenerateItems |
olduğundatrue, öğelerdeki .cshtml öğelerdeki Content dosyaları içerirRazorGenerate. |
GenerateRazorTargetAssemblyInfo |
.NET 6 veya sonraki sürümlerinde kullanılmaz. |
EnableDefaultRazorTargetAssemblyInfoAttributes |
.NET 6 veya sonraki sürümlerinde kullanılmaz. |
CopyRazorGenerateFilesToPublishDirectory |
olduğundatrue, öğeleri (RazorGenerate) dosyaları yayımlama dizinine kopyalar.cshtml. Derleme zamanında veya yayımlama zamanında derlemeye katılan dosyalar genellikle Razor yayımlanmış bir uygulama için gerekli değildir. varsayılan değeridir false. |
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 Razor , genellikle yayımlanmış bir uygulama için başvuru derlemeleri gerekli değildir.
true Yayımlanan uygulamanız çalışma zamanı derlemesi gerektiriyorsa olarak ayarlayın. Örneğin, uygulama çalışma zamanında dosyaları değiştirirse veya eklenmiş görünümler true kullanıyorsa değerini .cshtml olarak ayarlayın. varsayılan değeridir false. |
IncludeRazorContentInPack |
olduğunda true, tüm Razor içerik öğeleri (.cshtml dosyalar) oluşturulan NuGet paketine dahil edilmek üzere işaretlenir. varsayılan değeridir false. |
EmbedRazorGenerateSources |
olduğunda true, RazorGenerate (.cshtml) öğelerini oluşturulan Razor derlemeye eklenmiş dosyalar olarak ekler. varsayılan değeridir false. |
GenerateMvcApplicationPartsAssemblyAttributes |
.NET 6 veya sonraki sürümlerinde kullanılmaz. |
DefaultWebContentItemExcludes |
Web veya Content SDK'yı hedefleyen projelerde öğe grubundan Razor dışlanacak öğe öğeleri için globing deseni |
ExcludeConfigFilesFromBuildOutput |
, true ve dosyaları derleme çıktı dizinine kopyalanmıyorsa.json. |
AddRazorSupportForMvc |
olduğundatrue, SDK'yı MVC görünümleri veya Razor Sayfaları içeren uygulamalar oluştururken gereken MVC yapılandırması için destek ekleyecek şekilde yapılandırıyorRazor. Bu özellik, Web SDK'sını hedefleyen .NET Core 3.0 veya üzeri projeler için örtük olarak ayarlanır |
RazorLangVersion |
Hedef alınacak Dilin Razor sürümü. |
EmitCompilerGeneratedFiles |
olarak trueayarlandığında, oluşturulan kaynak dosyalar diske yazılır.
true ayarı, derleyicide hata ayıklarken kullanışlı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ı derlemesi gerçekleştirmek için gereken başvuru derlemelerini yayımlamaz. Bu, uygulama modeli çalışma zamanı derlemesine bağlı olduğunda derleme hatalarıyla sonuçlanır; örneğin, uygulama yayımlandıktan sonra eklenmiş görünümler kullanır veya görünümleri değiştirir. Başvuru derlemelerini yayımlamaya devam etmek için
CopyRefAssembliesToPublishDirectoryolarak ayarlayıntrue. Hem kod oluşturma hem de derleme, derleyiciye yapılan tek bir çağrı tarafından desteklenir. Uygulama türlerini ve oluşturulan görünümleri içeren tek bir derleme oluşturulur.Bir web uygulaması için uygulamanızın SDK'yı hedeflediğinden
Microsoft.NET.Sdk.Webemin olun.
Razor dil sürümü
SDK hedeflenirken Microsoft.NET.Sdk.Web , Razor dil sürümü uygulamanın hedef çerçeve sürümünden çıkarılır. SDK'yı hedefleyen Microsoft.NET.Sdk.Razor projeler için veya nadiren de olsa uygulamanın çıkarılmış değerden farklı Razor bir dil sürümüne ihtiyaç duyması durumunda, uygulamanın proje dosyasında özelliği ayarlanarak <RazorLangVersion> bir sürüm yapılandırılabilir:
<PropertyGroup>
<RazorLangVersion>{VERSION}</RazorLangVersion>
</PropertyGroup>
Razor'nin dil sürümü, oluşturulduğu çalışma zamanının 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 desteklenmiyor ve büyük olasılıkla derleme hataları oluşturuyor.
Ek kaynaklar
- .NET SDK projeleri için MSBuild başvurusu
- Ortak MSBuild proje öğeleri
.NET Core 2.1 veya üzeri SDK'sı MSBuild SDK'sını Microsoft.NET.Sdk.Razor (Razor SDK) içerir. Bu Razor SDK:
- ASP.NET Core MVC tabanlı veya projelerin dosyalarını içeren Razor projeleri derlemek, paketlemek ve Blazor yayımlamak için gereklidir.
- (Razor veya
.cshtml) dosyalarının derlenmesini.razorözelleştirmeye olanak sağlayan önceden tanımlanmış hedefler, özellikler ve öğeler kümesi içerir.
SDK, Razor ve Content globbing desenlerine ayarlanmış Include öznitelikleri olan **\*.cshtml öğeler içerir**\*.razor. Eşleşen dosyalar yayımlanır.
Prerequisites
SDK'yi Razor kullanma
Çoğu web uygulamasının SDK'ya açıkça başvurması Razor gerekmez.
SDK'yı Razor kullanarak görünümler veya Razor Sayfalar içeren Razor sınıf kitaplıkları oluşturmak için sınıf kitaplığı (RCL) proje şablonuyla Razor başlamanızı öneririz. En az sayıda dosya oluşturmak Blazor (.razor) için kullanılan bir RCL için Microsoft.AspNetCore.Components paketine başvuru yapılması gerekir. Görünümler veya sayfalar (Razordosyalar) oluşturmak .cshtml için kullanılan bir RCL en az hedefleme netcoreapp3.0 veya sonraki bir sürümü gerektirir ve FrameworkReferenceproje dosyasındaki Microsoft.AspNetCore.App meta paketine sahiptir.
Properties
Aşağıdaki özellikler, proje derlemesinin Razorbir parçası olarak 'nin SDK davranışını denetler:
-
RazorCompileOnBuild: olduğundatrue, derlemeyi Razor derler ve projeyi oluşturmanın bir parçası olarak yayar. varsayılan değeridirtrue. -
RazorCompileOnPublish: olduğundatrue, derlemeyi Razor derler ve projeyi yayımlamanın bir parçası olarak yayar. varsayılan değeridirtrue.
Aşağıdaki tabloda yer alan özellikler ve öğeler, SDK'ya yönelik girişleri ve çıktıları yapılandırmak için Razor kullanılır.
Warning
ASP.NET Core 3.0'dan başlayarak, proje dosyasındaki Razor veya MSBuild özellikleri devre dışı bırakılırsa MVC Görünümleri veya RazorCompileOnBuildRazorCompileOnPublish Sayfaları varsayılan olarak sunulmaz. Uygulamaların Microsoft.AspNetCore.Mvc'ye Razor paketi.
| Items | Description |
|---|---|
RazorGenerate |
Kod oluşturma işlemine giriş olan öğe öğeleri (.cshtml dosyalar). |
RazorComponent |
Bileşen kodu oluşturma işlemine .razor giriş olan öğe öğeleri (Razordosyalar). |
RazorCompile |
Derleme hedeflerine .cs giriş olan öğe öğeleri (Razordosyalar). Derlemede ItemGroup derlenecek ek dosyaları belirtmek için bunu Razor kullanın. |
RazorTargetAssemblyAttribute |
Derleme için öznitelikler oluşturmak üzere kod oluşturmak için Razor kullanılan öğe öğeleri. Örneğin: RazorAssemblyAttributeInclude="System.Reflection.AssemblyMetadataAttribute"_Parameter1="BuildSource" _Parameter2="https://learn.microsoft.com/"> |
RazorEmbeddedResource |
Oluşturulan Razor derlemeye ekli kaynaklar olarak eklenen öğe öğeleri. |
| Property | Description |
|---|---|
RazorTargetName |
tarafından Razorüretilen derlemenin dosya adı (uzantısız). |
RazorOutputPath |
Çıkış Razor dizini. |
RazorCompileToolset |
Derlemeyi derlemek için kullanılan araç takımını Razor belirlemek için kullanılır. Geçerli değerler: Implicit, RazorSDK ve PrecompilationTool. |
| EnableDefaultContentItems | Varsayılan true değeridir. olduğundatrue, projede içerik olarak web.config. aracılığıyla Microsoft.NET.Sdk.Webbaşvurulduğunda, wwwroot ve yapılandırma dosyaları altındaki dosyalar da eklenir. |
EnableDefaultRazorGenerateItems |
olduğundatrue, öğelerdeki .cshtml öğelerdeki Content dosyaları içerirRazorGenerate. |
GenerateRazorTargetAssemblyInfo |
olduğundatrue, tarafından .cs belirtilen öznitelikleri içeren bir RazorAssemblyAttribute dosya oluşturur ve dosyayı derleme çıkışına ekler. |
EnableDefaultRazorTargetAssemblyInfoAttributes |
olduğunda true, öğesine varsayılan bir derleme öznitelikleri RazorAssemblyAttributekümesi ekler. |
CopyRazorGenerateFilesToPublishDirectory |
olduğundatrue, öğeleri (RazorGenerate) dosyaları yayımlama dizinine kopyalar.cshtml. Derleme zamanında veya yayımlama zamanında derlemeye katılan dosyalar genellikle Razor yayımlanmış bir uygulama için gerekli değildir. varsayılan değeridir false. |
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 Razor , genellikle yayımlanmış bir uygulama için başvuru derlemeleri gerekli değildir.
true Yayımlanan uygulamanız çalışma zamanı derlemesi gerektiriyorsa olarak ayarlayın. Örneğin, uygulama çalışma zamanında dosyaları değiştirirse veya eklenmiş görünümler true kullanıyorsa değerini .cshtml olarak ayarlayın. varsayılan değeridir false. |
IncludeRazorContentInPack |
olduğunda true, tüm Razor içerik öğeleri (.cshtml dosyalar) oluşturulan NuGet paketine dahil edilmek üzere işaretlenir. varsayılan değeridir false. |
EmbedRazorGenerateSources |
olduğunda true, RazorGenerate (.cshtml) öğelerini oluşturulan Razor derlemeye eklenmiş dosyalar olarak ekler. varsayılan değeridir false. |
UseRazorBuildServer |
olduğunda true, kod oluşturma işini boşaltmak için kalıcı bir derleme sunucusu işlemi kullanır. varsayılan değeridir UseSharedCompilation. |
GenerateMvcApplicationPartsAssemblyAttributes |
olduğunda trueSDK, çalışma zamanında MVC tarafından uygulama parçası bulma gerçekleştirmek için kullanılan ek öznitelikler oluşturur. |
DefaultWebContentItemExcludes |
Web veya Content SDK'yı hedefleyen projelerde öğe grubundan Razor dışlanacak öğe öğeleri için globing deseni |
ExcludeConfigFilesFromBuildOutput |
, true ve dosyaları derleme çıktı dizinine kopyalanmıyorsa.json. |
AddRazorSupportForMvc |
olduğundatrue, SDK'yı MVC görünümleri veya Razor Sayfaları içeren uygulamalar oluştururken gereken MVC yapılandırması için destek ekleyecek şekilde yapılandırıyorRazor. Bu özellik, Web SDK'sını hedefleyen .NET Core 3.0 veya üzeri projeler için örtük olarak ayarlanır |
RazorLangVersion |
Hedef alınacak Dilin Razor sürümü. |
Özellikler hakkında daha fazla bilgi için bkz . MSBuild özellikleri.
Targets
Razor SDK iki birincil hedef tanımlar:
-
RazorGenerate: Kod,.csöğe öğelerindenRazorGeneratedosya oluşturur. Bu hedef öncesindeRazorGenerateDependsOnveya sonrasında çalışabilecek ek hedefler belirtmek için özelliğini kullanın. -
RazorCompile: içinde oluşturulan.csdosyaları bir Razor derlemeye derler. Bu hedef öncesinde veya sonrasında çalışabilecek ek hedefler belirtmek için öğesiniRazorCompileDependsOnkullanın. -
RazorComponentGenerate: Kod,.csöğe öğeleri içinRazorComponentdosyalar oluşturur. Bu hedef öncesindeRazorComponentGenerateDependsOnveya sonrasında çalışabilecek ek hedefler belirtmek için özelliğini kullanın.
Görünümlerin çalışma zamanı derlemesi Razor
Varsayılan olarak SDK, Razor çalışma zamanı derlemesi gerçekleştirmek için gereken başvuru derlemelerini yayımlamaz. Bu, uygulama modeli çalışma zamanı derlemesine bağlı olduğunda derleme hatalarıyla sonuçlanır; örneğin, uygulama yayımlandıktan sonra eklenmiş görünümler kullanır veya görünümleri değiştirir. Başvuru derlemelerini yayımlamaya devam etmek için
CopyRefAssembliesToPublishDirectoryolarak ayarlayıntrue.Bir web uygulaması için uygulamanızın SDK'yı hedeflediğinden
Microsoft.NET.Sdk.Webemin olun.
Razor dil sürümü
SDK hedeflenirken Microsoft.NET.Sdk.Web , Razor dil sürümü uygulamanın hedef çerçeve sürümünden çıkarılır. SDK'yı hedefleyen Microsoft.NET.Sdk.Razor projeler için veya nadiren de olsa uygulamanın çıkarılmış değerden farklı Razor bir dil sürümüne ihtiyaç duyması durumunda, uygulamanın proje dosyasında özelliği ayarlanarak <RazorLangVersion> bir sürüm yapılandırılabilir:
<PropertyGroup>
<RazorLangVersion>{VERSION}</RazorLangVersion>
</PropertyGroup>
Razor'nin dil sürümü, oluşturulduğu çalışma zamanının 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 desteklenmiyor ve büyük olasılıkla derleme hataları oluşturuyor.
Ek kaynaklar
- .NET SDK projeleri için MSBuild başvurusu
- Ortak MSBuild proje öğeleri
- ASP.NET Core MVC tabanlı projeler için dosya içeren Razor projeler oluşturma, paketleme ve yayımlama deneyimini standartlaştırır.
- Dosyaların derlenmesini Razor özelleştirmeye olanak sağlayan önceden tanımlanmış hedefler, özellikler ve öğeler kümesi içerir.
SDK, Razor globbing desenine ayarlanmış bir özniteliği olan Content bir Include**\*.cshtml öğe içerir. Eşleşen dosyalar yayımlanır.
Prerequisites
SDK'yi Razor kullanma
Çoğu web uygulamasının SDK'ya açıkça başvurması Razor gerekmez.
SDK'yi Razor kullanarak görünümler veya Razor Sayfalar içeren Razor sınıf kitaplıkları oluşturmak için:
yerine
Microsoft.NET.Sdk.RazorkullanınMicrosoft.NET.Sdk:<Project SDK="Microsoft.NET.Sdk.Razor"> <!-- omitted for brevity --> </Project>Genellikle, Sayfaları ve
Microsoft.AspNetCore.Mvcgörünümleri derlemek ve derlemek RazorRazor için gereken ek bağımlılıkları almak için için bir paket başvurusu gerekir. Projeniz en azından aşağıdakilere paket başvuruları eklemelidir:Microsoft.AspNetCore.Razor.DesignMicrosoft.AspNetCore.Mvc.Razor.ExtensionsMicrosoft.AspNetCore.Mvc.Razor
Paket,
Microsoft.AspNetCore.Razor.Designproje için derleme görevlerini ve hedeflerini sağlar Razor .Önceki paketler içinde
Microsoft.AspNetCore.Mvcyer alır. Aşağıdaki işaretlemede, ASP.NET Core Razor Pages uygulaması için dosya oluşturmak Razor üzere SDK'nın kullanıldığı Razor bir proje dosyası gösterilmektedir:<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
Microsoft.AspNetCore.Razor.Design ve Microsoft.AspNetCore.Mvc.Razor.Extensions paketleri Microsoft.AspNetCore.App meta paketine dahil edilir. Ancak, sürüm içermeyen Microsoft.AspNetCore.App paket başvurusu, uygulamaya en son sürümünü Microsoft.AspNetCore.Razor.Designiçermeyen bir meta paket sağlar. Için en son derleme zamanı düzeltmelerinin Microsoft.AspNetCore.Razor.Design eklenmesi için projelerin tutarlı bir (veya Microsoft.AspNetCore.Mvc) sürümüne Razor başvurması gerekir. Daha fazla bilgi için bu GitHub konusuna bakın.
Properties
Aşağıdaki özellikler, proje derlemesinin Razorbir parçası olarak 'nin SDK davranışını denetler:
-
RazorCompileOnBuild: olduğundatrue, derlemeyi Razor derler ve projeyi oluşturmanın bir parçası olarak yayar. varsayılan değeridirtrue. -
RazorCompileOnPublish: olduğundatrue, derlemeyi Razor derler ve projeyi yayımlamanın bir parçası olarak yayar. varsayılan değeridirtrue.
Aşağıdaki tabloda yer alan özellikler ve öğeler, SDK'ya yönelik girişleri ve çıktıları yapılandırmak için Razor kullanılır.
| Items | Description |
|---|---|
RazorGenerate |
Kod oluşturma işlemine giriş olan öğe öğeleri (.cshtml dosyalar). |
RazorComponent |
Bileşen kodu oluşturma işlemine .razor giriş olan öğe öğeleri (Razordosyalar). |
RazorCompile |
Derleme hedeflerine .cs giriş olan öğe öğeleri (Razordosyalar). Derlemede ItemGroup derlenecek ek dosyaları belirtmek için bunu Razor kullanın. |
RazorTargetAssemblyAttribute |
Derleme için öznitelikler oluşturmak üzere kod oluşturmak için Razor kullanılan öğe öğeleri. Örneğin: RazorAssemblyAttributeInclude="System.Reflection.AssemblyMetadataAttribute"_Parameter1="BuildSource" _Parameter2="https://learn.microsoft.com/"> |
RazorEmbeddedResource |
Oluşturulan Razor derlemeye ekli kaynaklar olarak eklenen öğe öğeleri. |
| Property | Description |
|---|---|
RazorTargetName |
tarafından Razorüretilen derlemenin dosya adı (uzantısız). |
RazorOutputPath |
Çıkış Razor dizini. |
RazorCompileToolset |
Derlemeyi derlemek için kullanılan araç takımını Razor belirlemek için kullanılır. Geçerli değerler: Implicit, RazorSDK ve PrecompilationTool. |
| EnableDefaultContentItems | Varsayılan true değeridir. olduğundatrue, projede içerik olarak web.config. aracılığıyla Microsoft.NET.Sdk.Webbaşvurulduğunda, wwwroot ve yapılandırma dosyaları altındaki dosyalar da eklenir. |
EnableDefaultRazorGenerateItems |
olduğundatrue, öğelerdeki .cshtml öğelerdeki Content dosyaları içerirRazorGenerate. |
GenerateRazorTargetAssemblyInfo |
olduğundatrue, tarafından .cs belirtilen öznitelikleri içeren bir RazorAssemblyAttribute dosya oluşturur ve dosyayı derleme çıkışına ekler. |
EnableDefaultRazorTargetAssemblyInfoAttributes |
olduğunda true, öğesine varsayılan bir derleme öznitelikleri RazorAssemblyAttributekümesi ekler. |
CopyRazorGenerateFilesToPublishDirectory |
olduğundatrue, öğeleri (RazorGenerate) dosyaları yayımlama dizinine kopyalar.cshtml. Derleme zamanında veya yayımlama zamanında derlemeye katılan dosyalar genellikle Razor yayımlanmış bir uygulama için gerekli değildir. varsayılan değeridir false. |
CopyRefAssembliesToPublishDirectory |
olduğunda true, başvuru derleme öğelerini yayımlama dizinine kopyalayın. Derleme derleme zamanında veya yayımlama zamanında gerçekleşirse Razor , genellikle yayımlanmış bir uygulama için başvuru derlemeleri gerekli değildir.
true Yayımlanan uygulamanız çalışma zamanı derlemesi gerektiriyorsa olarak ayarlayın. Örneğin, uygulama çalışma zamanında dosyaları değiştirirse veya eklenmiş görünümler true kullanıyorsa değerini .cshtml olarak ayarlayın. varsayılan değeridir false. |
IncludeRazorContentInPack |
olduğunda true, tüm Razor içerik öğeleri (.cshtml dosyalar) oluşturulan NuGet paketine dahil edilmek üzere işaretlenir. varsayılan değeridir false. |
EmbedRazorGenerateSources |
olduğunda true, RazorGenerate (.cshtml) öğelerini oluşturulan Razor derlemeye eklenmiş dosyalar olarak ekler. varsayılan değeridir false. |
UseRazorBuildServer |
olduğunda true, kod oluşturma işini boşaltmak için kalıcı bir derleme sunucusu işlemi kullanır. varsayılan değeridir UseSharedCompilation. |
GenerateMvcApplicationPartsAssemblyAttributes |
olduğunda trueSDK, çalışma zamanında MVC tarafından uygulama parçası bulma gerçekleştirmek için kullanılan ek öznitelikler oluşturur. |
DefaultWebContentItemExcludes |
Web veya Content SDK'yı hedefleyen projelerde öğe grubundan Razor dışlanacak öğe öğeleri için globing deseni |
ExcludeConfigFilesFromBuildOutput |
, true ve dosyaları derleme çıktı dizinine kopyalanmıyorsa.json. |
AddRazorSupportForMvc |
olduğundatrue, SDK'yı MVC görünümleri veya Razor Sayfaları içeren uygulamalar oluştururken gereken MVC yapılandırması için destek ekleyecek şekilde yapılandırıyorRazor. Bu özellik, Web SDK'sını hedefleyen .NET Core 3.0 veya üzeri projeler için örtük olarak ayarlanır |
RazorLangVersion |
Hedef alınacak Dilin Razor sürümü. |
Özellikler hakkında daha fazla bilgi için bkz . MSBuild özellikleri.
Targets
Razor SDK iki birincil hedef tanımlar:
-
RazorGenerate: Kod,.csöğe öğelerindenRazorGeneratedosya oluşturur. Bu hedef öncesindeRazorGenerateDependsOnveya sonrasında çalışabilecek ek hedefler belirtmek için özelliğini kullanın. -
RazorCompile: içinde oluşturulan.csdosyaları bir Razor derlemeye derler. Bu hedef öncesinde veya sonrasında çalışabilecek ek hedefler belirtmek için öğesiniRazorCompileDependsOnkullanın. -
RazorComponentGenerate: Kod,.csöğe öğeleri içinRazorComponentdosyalar oluşturur. Bu hedef öncesindeRazorComponentGenerateDependsOnveya sonrasında çalışabilecek ek hedefler belirtmek için özelliğini kullanın.
Görünümlerin çalışma zamanı derlemesi Razor
Varsayılan olarak SDK, Razor çalışma zamanı derlemesi gerçekleştirmek için gereken başvuru derlemelerini yayımlamaz. Bu, uygulama modeli çalışma zamanı derlemesine bağlı olduğunda derleme hatalarıyla sonuçlanır; örneğin, uygulama yayımlandıktan sonra eklenmiş görünümler kullanır veya görünümleri değiştirir. Başvuru derlemelerini yayımlamaya devam etmek için
CopyRefAssembliesToPublishDirectoryolarak ayarlayıntrue.Bir web uygulaması için uygulamanızın SDK'yı hedeflediğinden
Microsoft.NET.Sdk.Webemin olun.
Razor dil sürümü
SDK hedeflenirken Microsoft.NET.Sdk.Web , Razor dil sürümü uygulamanın hedef çerçeve sürümünden çıkarılır. SDK'yı hedefleyen Microsoft.NET.Sdk.Razor projeler için veya nadiren de olsa uygulamanın çıkarılmış değerden farklı Razor bir dil sürümüne ihtiyaç duyması durumunda, uygulamanın proje dosyasında özelliği ayarlanarak <RazorLangVersion> bir sürüm yapılandırılabilir:
<PropertyGroup>
<RazorLangVersion>{VERSION}</RazorLangVersion>
</PropertyGroup>
Razor'nin dil sürümü, oluşturulduğu çalışma zamanının 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 desteklenmiyor ve büyük olasılıkla derleme hataları oluşturuyor.
Ek kaynaklar
- .NET SDK projeleri için MSBuild başvurusu
- Ortak MSBuild proje öğeleri
ASP.NET Core