A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://docs.microsoft.com/en-us/aspnet/core/razor-pages/sdk below:

ASP.NET Core Razor SDK | Microsoft Learn

By Rick Anderson

Overview

The .NET 6 SDK includes the Microsoft.NET.Sdk.Razor MSBuild SDK (Razor SDK). The Razor SDK:

The Razor SDK includes Content items with Include attributes set to the **\*.cshtml and **\*.razor globbing patterns. Matching files are published.

Prerequisites

.NET 6 SDK

Use the Razor SDK

Most web apps aren't required to explicitly reference the Razor SDK.

To use the Razor SDK to build class libraries containing Razor views or Razor Pages, we recommend starting with the Razor class library (RCL) project template. An RCL that's used to build Blazor (.razor) files minimally requires a reference to the Microsoft.AspNetCore.Components package. An RCL that's used to build Razor views or pages (.cshtml files) minimally requires targeting netcoreapp3.0 or later and has a FrameworkReference to the Microsoft.AspNetCore.App metapackage in its project file.

Properties

The following properties control the Razor's SDK behavior as part of a project build:

The properties and items in the following table are used to configure inputs and output to the Razor SDK.

Items Description RazorGenerate Item elements (.cshtml files) that are inputs to code generation. RazorComponent Item elements (.razor files) that are inputs to Razor component code generation. RazorCompile Item elements (.cs files) that are inputs to Razor compilation targets. Use this ItemGroup to specify additional files to be compiled into the Razor assembly. RazorEmbeddedResource Item elements added as embedded resources to the generated Razor assembly. Property Description RazorOutputPath The Razor output directory. RazorCompileToolset Used to determine the toolset used to build the Razor assembly. Valid values are Implicit, RazorSDK, and PrecompilationTool. EnableDefaultContentItems Default is true. When true, includes web.config, .json, and .cshtml files as content in the project. When referenced via Microsoft.NET.Sdk.Web, files under wwwroot and config files are also included. EnableDefaultRazorGenerateItems When true, includes .cshtml files from Content items in RazorGenerate items. GenerateRazorTargetAssemblyInfo Not used in .NET 6 or later. EnableDefaultRazorTargetAssemblyInfoAttributes Not used in .NET 6 or later. CopyRazorGenerateFilesToPublishDirectory When true, copies RazorGenerate items (.cshtml) files to the publish directory. Typically, Razor files aren't required for a published app if they participate in compilation at build-time or publish-time. Defaults to false. PreserveCompilationReferences When true, copy reference assembly items to the publish directory. Typically, reference assemblies aren't required for a published app if Razor compilation occurs at build-time or publish-time. Set to true if your published app requires runtime compilation. For example, set the value to true if the app modifies .cshtml files at runtime or uses embedded views. Defaults to false. IncludeRazorContentInPack When true, all Razor content items (.cshtml files) are marked for inclusion in the generated NuGet package. Defaults to false. EmbedRazorGenerateSources When true, adds RazorGenerate (.cshtml) items as embedded files to the generated Razor assembly. Defaults to false. GenerateMvcApplicationPartsAssemblyAttributes Not used in .NET 6 or later. DefaultWebContentItemExcludes A globbing pattern for item elements that are to be excluded from the Content item group in projects targeting the Web or Razor SDK ExcludeConfigFilesFromBuildOutput When true, .config and .json files do not get copied to the build output directory. AddRazorSupportForMvc When true, configures the Razor SDK to add support for the MVC configuration that is required when building applications containing MVC views or Razor Pages. This property is implicitly set for .NET Core 3.0 or later projects targeting the Web SDK RazorLangVersion The version of the Razor Language to target. EmitCompilerGeneratedFiles When set to true, the generated source files are written to disk. Setting to true is useful when debugging the compiler. The default is false.

For more information on properties, see MSBuild properties.

Runtime compilation of Razor views Razor language version

When targeting the Microsoft.NET.Sdk.Web SDK, the Razor language version is inferred from the app's target framework version. For projects targeting the Microsoft.NET.Sdk.Razor SDK or in the rare case that the app requires a different Razor language version than the inferred value, a version can be configured by setting the <RazorLangVersion> property in the app's project file:

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

Razor's language version is tightly integrated with the version of the runtime that it was built for. Targeting a language version that isn't designed for the runtime is unsupported and likely produces build errors.

Additional resources

The .NET Core 2.1 or later SDK includes the Microsoft.NET.Sdk.Razor MSBuild SDK (Razor SDK). The Razor SDK:

The Razor SDK includes Content items with Include attributes set to the **\*.cshtml and **\*.razor globbing patterns. Matching files are published.

Prerequisites

.NET Core 2.1 or later SDK

Use the Razor SDK

Most web apps aren't required to explicitly reference the Razor SDK.

To use the Razor SDK to build class libraries containing Razor views or Razor Pages, we recommend starting with the Razor class library (RCL) project template. An RCL that's used to build Blazor (.razor) files minimally requires a reference to the Microsoft.AspNetCore.Components package. An RCL that's used to build Razor views or pages (.cshtml files) minimally requires targeting netcoreapp3.0 or later and has a FrameworkReference to the Microsoft.AspNetCore.App metapackage in its project file.

Properties

The following properties control the Razor's SDK behavior as part of a project build:

The properties and items in the following table are used to configure inputs and output to the Razor SDK.

Warning

Starting with ASP.NET Core 3.0, MVC Views or Razor Pages aren't served by default if the RazorCompileOnBuild or RazorCompileOnPublish MSBuild properties in the project file are disabled. Applications must add an explicit reference to the Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation package if the app relies on runtime compilation to process .cshtml files.

Items Description RazorGenerate Item elements (.cshtml files) that are inputs to code generation. RazorComponent Item elements (.razor files) that are inputs to Razor component code generation. RazorCompile Item elements (.cs files) that are inputs to Razor compilation targets. Use this ItemGroup to specify additional files to be compiled into the Razor assembly. RazorTargetAssemblyAttribute Item elements used to code generate attributes for the Razor assembly. For example:
RazorAssemblyAttribute
Include="System.Reflection.AssemblyMetadataAttribute"
_Parameter1="BuildSource" _Parameter2="https://learn.microsoft.com/"> RazorEmbeddedResource Item elements added as embedded resources to the generated Razor assembly. Property Description RazorTargetName File name (without extension) of the assembly produced by Razor. RazorOutputPath The Razor output directory. RazorCompileToolset Used to determine the toolset used to build the Razor assembly. Valid values are Implicit, RazorSDK, and PrecompilationTool. EnableDefaultContentItems Default is true. When true, includes web.config, .json, and .cshtml files as content in the project. When referenced via Microsoft.NET.Sdk.Web, files under wwwroot and config files are also included. EnableDefaultRazorGenerateItems When true, includes .cshtml files from Content items in RazorGenerate items. GenerateRazorTargetAssemblyInfo When true, generates a .cs file containing attributes specified by RazorAssemblyAttribute and includes the file in the compile output. EnableDefaultRazorTargetAssemblyInfoAttributes When true, adds a default set of assembly attributes to RazorAssemblyAttribute. CopyRazorGenerateFilesToPublishDirectory When true, copies RazorGenerate items (.cshtml) files to the publish directory. Typically, Razor files aren't required for a published app if they participate in compilation at build-time or publish-time. Defaults to false. PreserveCompilationReferences When true, copy reference assembly items to the publish directory. Typically, reference assemblies aren't required for a published app if Razor compilation occurs at build-time or publish-time. Set to true if your published app requires runtime compilation. For example, set the value to true if the app modifies .cshtml files at runtime or uses embedded views. Defaults to false. IncludeRazorContentInPack When true, all Razor content items (.cshtml files) are marked for inclusion in the generated NuGet package. Defaults to false. EmbedRazorGenerateSources When true, adds RazorGenerate (.cshtml) items as embedded files to the generated Razor assembly. Defaults to false. UseRazorBuildServer When true, uses a persistent build server process to offload code generation work. Defaults to the value of UseSharedCompilation. GenerateMvcApplicationPartsAssemblyAttributes When true, the SDK generates additional attributes used by MVC at runtime to perform application part discovery. DefaultWebContentItemExcludes A globbing pattern for item elements that are to be excluded from the Content item group in projects targeting the Web or Razor SDK ExcludeConfigFilesFromBuildOutput When true, .config and .json files do not get copied to the build output directory. AddRazorSupportForMvc When true, configures the Razor SDK to add support for the MVC configuration that is required when building applications containing MVC views or Razor Pages. This property is implicitly set for .NET Core 3.0 or later projects targeting the Web SDK RazorLangVersion The version of the Razor Language to target.

For more information on properties, see MSBuild properties.

Targets

The Razor SDK defines two primary targets:

Runtime compilation of Razor views Razor language version

When targeting the Microsoft.NET.Sdk.Web SDK, the Razor language version is inferred from the app's target framework version. For projects targeting the Microsoft.NET.Sdk.Razor SDK or in the rare case that the app requires a different Razor language version than the inferred value, a version can be configured by setting the <RazorLangVersion> property in the app's project file:

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

Razor's language version is tightly integrated with the version of the runtime that it was built for. Targeting a language version that isn't designed for the runtime is unsupported and likely produces build errors.

Additional resources

The Razor SDK includes a Content item with an Include attribute set to the **\*.cshtml globbing pattern. Matching files are published.

Prerequisites

.NET Core 2.1 or later SDK

Use the Razor SDK

Most web apps aren't required to explicitly reference the Razor SDK.

To use the Razor SDK to build class libraries containing Razor views or Razor Pages:

Warning

The Microsoft.AspNetCore.Razor.Design and Microsoft.AspNetCore.Mvc.Razor.Extensions packages are included in the Microsoft.AspNetCore.App metapackage. However, the version-less Microsoft.AspNetCore.App package reference provides a metapackage to the app that doesn't include the latest version of Microsoft.AspNetCore.Razor.Design. Projects must reference a consistent version of Microsoft.AspNetCore.Razor.Design (or Microsoft.AspNetCore.Mvc) so that the latest build-time fixes for Razor are included. For more information, see this GitHub issue.

Properties

The following properties control the Razor's SDK behavior as part of a project build:

The properties and items in the following table are used to configure inputs and output to the Razor SDK.

Items Description RazorGenerate Item elements (.cshtml files) that are inputs to code generation. RazorComponent Item elements (.razor files) that are inputs to Razor component code generation. RazorCompile Item elements (.cs files) that are inputs to Razor compilation targets. Use this ItemGroup to specify additional files to be compiled into the Razor assembly. RazorTargetAssemblyAttribute Item elements used to code generate attributes for the Razor assembly. For example:
RazorAssemblyAttribute
Include="System.Reflection.AssemblyMetadataAttribute"
_Parameter1="BuildSource" _Parameter2="https://learn.microsoft.com/"> RazorEmbeddedResource Item elements added as embedded resources to the generated Razor assembly. Property Description RazorTargetName File name (without extension) of the assembly produced by Razor. RazorOutputPath The Razor output directory. RazorCompileToolset Used to determine the toolset used to build the Razor assembly. Valid values are Implicit, RazorSDK, and PrecompilationTool. EnableDefaultContentItems Default is true. When true, includes web.config, .json, and .cshtml files as content in the project. When referenced via Microsoft.NET.Sdk.Web, files under wwwroot and config files are also included. EnableDefaultRazorGenerateItems When true, includes .cshtml files from Content items in RazorGenerate items. GenerateRazorTargetAssemblyInfo When true, generates a .cs file containing attributes specified by RazorAssemblyAttribute and includes the file in the compile output. EnableDefaultRazorTargetAssemblyInfoAttributes When true, adds a default set of assembly attributes to RazorAssemblyAttribute. CopyRazorGenerateFilesToPublishDirectory When true, copies RazorGenerate items (.cshtml) files to the publish directory. Typically, Razor files aren't required for a published app if they participate in compilation at build-time or publish-time. Defaults to false. CopyRefAssembliesToPublishDirectory When true, copy reference assembly items to the publish directory. Typically, reference assemblies aren't required for a published app if Razor compilation occurs at build-time or publish-time. Set to true if your published app requires runtime compilation. For example, set the value to true if the app modifies .cshtml files at runtime or uses embedded views. Defaults to false. IncludeRazorContentInPack When true, all Razor content items (.cshtml files) are marked for inclusion in the generated NuGet package. Defaults to false. EmbedRazorGenerateSources When true, adds RazorGenerate (.cshtml) items as embedded files to the generated Razor assembly. Defaults to false. UseRazorBuildServer When true, uses a persistent build server process to offload code generation work. Defaults to the value of UseSharedCompilation. GenerateMvcApplicationPartsAssemblyAttributes When true, the SDK generates additional attributes used by MVC at runtime to perform application part discovery. DefaultWebContentItemExcludes A globbing pattern for item elements that are to be excluded from the Content item group in projects targeting the Web or Razor SDK ExcludeConfigFilesFromBuildOutput When true, .config and .json files do not get copied to the build output directory. AddRazorSupportForMvc When true, configures the Razor SDK to add support for the MVC configuration that is required when building applications containing MVC views or Razor Pages. This property is implicitly set for .NET Core 3.0 or later projects targeting the Web SDK RazorLangVersion The version of the Razor Language to target.

For more information on properties, see MSBuild properties.

Targets

The Razor SDK defines two primary targets:

Runtime compilation of Razor views Razor language version

When targeting the Microsoft.NET.Sdk.Web SDK, the Razor language version is inferred from the app's target framework version. For projects targeting the Microsoft.NET.Sdk.Razor SDK or in the rare case that the app requires a different Razor language version than the inferred value, a version can be configured by setting the <RazorLangVersion> property in the app's project file:

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

Razor's language version is tightly integrated with the version of the runtime that it was built for. Targeting a language version that isn't designed for the runtime is unsupported and likely produces build errors.

Additional resources

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4