在构建期间检查剃刀错误

本文关键字:剃刀 错误 检查 构建 | 更新日期: 2023-09-27 17:50:24

是否有一种方法可以让Visual Studio(我使用的是2010)在构建过程中发现razor视图中的错误,就像c#项目中的其他代码一样?

你可以检查代码中的任何错误,并认为一切都很好,但似乎你不能确定视图,除非你检查每个视图,这是一种痛苦。

顺便说一句,我显然不会在我的视图中编码——我只是在谈论HTML或URL扩展方法。

在构建期间检查剃刀错误

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

 <MvcBuildViews>true</MvcBuildViews>

构建视图需要一段时间,额外的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)是手动添加的

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

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

有时这个汇编器不能正确加载,在我的情况下,它工作了!