在ASP.NET MVC中编译视图

拜拜、爱过 提交于 2020-02-28 07:56:16

我想要一个msbuild任务来编译视图,这样我就可以看到编译时是否存在编译错误...编译时。 有任何想法吗?


#1楼

我坦率地推荐RazorGenerator nuget包。 这样你的视图.designer.cs在你保存它们时生成一个.designer.cs文件,除了为你的视图获取编译时错误之外,它们还被预编译到程序集中(=更快的预热),Resharper也提供了一些额外的帮助。

要使用它, 在ASP.NET MVC项目中包含RazorGenerator nuget包,并在Tools→Extensions and Updates下的项目下安装“ Razor Generator ”扩展。

我们使用这个,并且使用这种方法的每次编译的开销要少得多。 除此之外,我可能会推荐RedGate的.NET Demon,它可以进一步减少编译时的影响。

希望这可以帮助。


#2楼

使用Visual Studio的生产力电动工具免费 )扩展有所帮助 。 具体来说, Solution Error Visualizer功能。 有了它,解决方案资源管理器(在发现错误的源文件中)可视地标记了编译错误。 但是,出于某种原因,此功能不能与代码中其他任何位置的其他错误一起使用。

使用MVC视图时,任何编译时错误仍会在各自的.cs文件中以红色加下划线,但发出这些错误的信号不会在解决方案资源管理器中向上传播(绝不会在包含的源文件中传播)。

感谢BlueClouds纠正我以前的陈述。

我刚刚在扩展的github项目中报告了这个问题


#3楼

您可以使用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

其中“ / Virtual / Application / Path / Or / Path / In / IIS / Metabase ”是这样的:“ / MyApp ”或“ / lm / w3svc2 / 1 / root /

MSDN上还有一个AspNetCompiler任务 ,展示了如何将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>

#4楼

ASP.NET MVC的下一个版本(1月左右可用)应具有编译视图的MSBuild任务,因此您可能需要等待。

公告


#5楼

此外,如果您使用Resharper,您可以激活Solution Wide Analysis,它将检测您在aspx文件中可能存在的任何编译器错误。 这就是我们做的......

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!