在构建期间检查剃刀错误

时间:2011-04-14 17:47:51

标签: c# visual-studio razor

有没有办法让Visual Studio(我使用2010)在构建期间在剃刀视图中查找错误,就像C#项目中的其他代码一样?

您可以检查代码中的任何错误并认为一切都很好,这只是一种痛苦,但看起来您无法确定视图,除非您通过每个视图。

BTW我显然不在我的视图中编码 - 我只是在谈论HTML或URL扩展方法。

3 个答案:

答案 0 :(得分:93)

尝试在项目文件中将MVCBuildViews设置为true(即编辑csproj文件)

 <MvcBuildViews>true</MvcBuildViews>

答案 1 :(得分:12)

构建视图需要一段时间,执行调试构建的额外10秒以上可能会很快烦人,所以我通常只在发布类型构建配置上将MvcBuildViews设置为true。 这样,如果您有一个构建服务器,它将为您捕获错误,或者您可以不时地手动运行发布版本以检查您的视图。

我不认为订单对PropertyGroup元素很重要,但是对于更完整的示例,我在MvcBuildViews元素的上方和下方包含了元素。

<PropertyGroup>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
    ...
    <TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
    <MvcBuildViews>false</MvcBuildViews>
    <UseIISExpress>false</UseIISExpress>
    ...
</PropertyGroup>

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
    ...
    <ErrorReport>prompt</ErrorReport>
    <MvcBuildViews>true</MvcBuildViews>
    <WarningLevel>4</WarningLevel>
    ...
</PropertyGroup>

顶级PropertyGroup中的MvcBuildViews元素是由VS在项目创建时添加的,我手动添加了特定于构建配置的一个(底部PropertyGroup)

答案 2 :(得分:0)

尝试在项目的模式编辑中添加以下程序集: System.core ,根据代码:

...
<Reference Include="System.Core, Version=4.0.0.0" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Net.Http.WebRequest" />
...

有时这个汇编程序没有正确加载,在我的情况下,它有效!