在ASP.NET MVC中编译视图

Compile Views in ASP.NET MVC

我需要一个msbuild任务来编译视图,这样我就可以查看是否存在编译时错误…编译时间。有什么想法吗?


From the readme word doc for RC1(not index by Google)

编译器后阶段

当前,视图文件中的错误在运行时间内不会被检测出来。让你在编译时间内检测出这些错误,ASP.Net MVC工程现在包括一个MVCBuildviews property,which is disabled by default.To enable this property,open the project file and set the MVCBuildviews property to true,as shown in the following example:

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

Note enabling this feature address some overhead to the build time.

3.You can update projects that were created with previous releases of MVC to include build-time validation of views by performing the following steps:

  • Open the project file in a text editor.
  • Add the following element under the top-most 法国电力公司
  • 在项目文件的末尾,UNCCOMMENT the Element and modify it to match the following:
  • 1
    2
    3
    <Target Name="AfterBuild" Condition="'$(MvcBuildViews)'=='true'">
        <AspNetCompiler VirtualPath="temp" PhysicalPath="$(ProjectDir)\..\$(ProjectName)" />
    </Target>


    我富兰克利会推荐一个新的包装。当你挽救了他们并在最上面发现了编译错误的时候,文件生成了你的视野,它们也被预先编译到了会议室(=faster warmup),并提供了一些额外的帮助。

    将此包括在您的ASP.Net MVC项目中的Razorgerator nuget package,并在Tools=EXTENSIONS和UPDATENSIONS下在ITEM下安装"Razor Generator"EXTENSION。

    我们使用这个,用这个方法编译的过头部分是非常少的。关于这一点,我很可能会通过进一步减少时间的实际影响,从中推荐纯恶魔。

    希望你能帮忙。


    你可以使用ASPNET U编译器来:

    1
    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

    Where"/Virtal/Application/Path/or/path/in/iis/metabase"is something like this:"/myapp"or/lm/w3svc2/1/root/"

    此外,还有一个关于MSDN的AspnetCompiler Task,Showing How to Integrate Aspnet U Compiler with MSBUILD:

    ZZU1


    另外,如果您使用重置,您可以激活解析宽解析,并检测任何编译错误,您可能在ASPX文件中。这就是我们所做的


    Next release of ASP.Net MVC(available in January or so)should have msbuild task that compiles views,so you might want to wait.

    See announcement


    答案是给这里的一些MVC版本,但不是给其他版本。

    简单的解决方案为MVC1,但在升级到MVC2时,视图并没有被复杂化。这是由于网站项目文件中的一个错误。See this haacked article.

    See this:http://haacked.com/archive/2011/05/09/compiling-mvc-views-in-a-build-environment.aspx


    运行代码分析

    Hotkey:XYBDALT+F11

    帮助我抓住雷泽的错误。


    使用视觉工作室的生产力工具(自由)扩展帮助一个比特。具体地说,特色与此相反,编译错误标记在解决方案探索器(在来源文件中发现错误的地方)。对于一些原因,但这一特征并没有像代码中任何地方的其他错误一样发挥作用。

    MVC views,any compile-time errors will still be underlined in red in their regional cs files,but information these errors is not proposed upwards in the solution explorer(in no way,even not in the containing source file).

    感谢您纠正我的初步声明。

    我只是报告了这一情况,作为扩展吉卜赛人项目的一个问题。