我想要一个msbuild任务来编译视图,这样我就可以看到是否有编译时错误在好…编译时间。什么好主意吗?
当前回答
这里给出的答案适用于某些MVC版本,但不适用于其他版本。
简单的解决方案适用于MVC1,但在升级到MVC2时,视图不再被编译。这是由于网站项目文件中的一个错误。请看这篇黑客文章。
请看这个:http://haacked.com/archive/2011/05/09/compiling-mvc-views-in-a-build-environment.aspx
其他回答
此外,如果你使用Resharper,你可以激活Solution Wide Analysis,它将检测你在aspx文件中可能存在的任何编译器错误。这就是我们所做的……
运行代码分析
热键:Alt+F11
帮助我捕捉Razor错误。
你可以使用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>
ASP的下一个版本。NET MVC(一月左右可用)应该有编译视图的MSBuild任务,所以您可能想要等待。
看到公告
这里给出的答案适用于某些MVC版本,但不适用于其他版本。
简单的解决方案适用于MVC1,但在升级到MVC2时,视图不再被编译。这是由于网站项目文件中的一个错误。请看这篇黑客文章。
请看这个:http://haacked.com/archive/2011/05/09/compiling-mvc-views-in-a-build-environment.aspx
推荐文章
- 什么是Kestrel (vs IIS / Express)
- 剃刀视图抛出“名称‘模型’在当前上下文中不存在”
- HTML按钮调用MVC控制器和动作方法
- 如何为ASP.net/C#应用程序配置文件值中的值添加&号
- ASP。NET MVC 3 Razor:在head标签中包含JavaScript文件
- 我如何解决“HTTP错误500.19 -内部服务器错误”在IIS7.0
- 将列表序列化为JSON
- 运行计划任务的最佳方式
- Global.asax中的“解析器错误消息:无法加载类型”
- ViewModel最佳实践
- 使用Html。ActionLink调用不同控制器上的动作
- 什么时候我应该在ASP中使用异步控制器。净MVC吗?
- ASP。NET“特殊”标签
- 有可能制作一个ASP。NET MVC路由基于子域?
- 如何在cshtml模板中创建函数?