在ASP.NET MVC中编译视图

 2023-02-17    466  

问题描述

我希望一个MSBuild任务编译视图,以便我可以看看是否有编译时间错误……编译时间.任何想法?

我坦率地推荐 razorgenerator nuget包.那种方式,您的观点在保存它们时生成的.designer.cs文件生成,并且在获得编译时间错误的视图上时,它们也会预编译到组件中(=更快的预热),并且Resharper也提供了一些额外的帮助.

在ASP.NET MVC中编译视图

要使用它包括 razorgenerator nuget包在ASP.NET MVC项目中,并在工具→扩展下的项目下安装”剃须刀”扩展名更新.

我们使用这个,并且使用这种方法的每个编译的开销要少得多.在此之上,我可能会推荐 .NET恶魔通过REDGATE ,这进一步减少了基本上的编译时间影响.

其他推荐答案

从RC1的README Word Doc(未被谷歌索引)

asp.net编译后构建步骤

当前,在运行时未检测到视图文件中的错误.为了让您在编译时检测到这些错误,ASP.NET MVC项目现在包含MVCBuildViews属性,默认情况下被禁用.要启用此属性,请打开项目文件并将MVCBuildViews属性设置为true,如下例所示:

<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <MvcBuildViews>true</MvcBuildViews>
  </PropertyGroup>

注意启用此功能会在构建时添加一些开销.

您可以通过执行以下步骤更新使用以前版本的MVC版本的版本创建的项目:

  1. 在文本编辑器中打开项目文件.
  2. 在顶部<PropertyGroup>元素下添加以下元素:
    <MvcBuildViews>true</MvcBuildViews>
  3. 在项目文件末尾,取消注释<Target Name=”AfterBuild”>元素并修改它以匹配以下内容:
<Target Name="AfterBuild" Condition="'$(MvcBuildViews)'=='true'">
    <AspNetCompiler VirtualPath="temp" PhysicalPath="$(ProjectDir)\..\$(ProjectName)" />
</Target>

其他推荐答案

您可以使用 aspnet_compiler 为此:

C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_compiler -v /Virtual/Application/Path/Or/Path/In/IIS/Metabase -p C:\Path\To\Your\WebProject -f -errorstack C:\Where\To\Put\Compiled\Site

其中”/partual/application/path/或/path/In/IIS/metabase “是这样的:”/myapp “或”/lm/w3svc2/1/root/”

也有一个 aspnetcompiler任务 在MSDN上,显示如何将ASPNET_Compiler与MSBUILD集成:

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    <Target Name="PrecompileWeb">
        <AspNetCompiler
            VirtualPath="/MyWebSite"
            PhysicalPath="c:\inetpub\wwwroot\MyWebSite\"
            TargetPath="c:\precompiledweb\MyWebSite\"
            Force="true"
            Debug="true"
        />
    </Target>
</Project>

以上所述是小编给大家介绍的在ASP.NET MVC中编译视图,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对77isp云服务器技术网的支持!

原文链接:https://77isp.com/post/34179.html

=========================================

https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。