在构建期间检查剃刀错误


70

Visual Studio(我正在使用2010)是否有一种方法可以像在C#项目中的其他代码一样在构建过程中在剃刀视图中查找错误?

您可以检查代码中的任何错误并认为一切都很好,这很痛苦,但是似乎您无法确定视图,除非您仔细查看每个视图。

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



Answers:


103

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

 <MvcBuildViews>true</MvcBuildViews>

Gave Will +1表示首先到达那里-感谢您澄清解决方案以供快速参考。标记为答案。
isNaN1247 2011年

@beardtwizzle:您也可以+ JP。这是我完全忘记的MVC(我相信2)的新功能(绝对是更好的答案)。

@对不起,对,JP值得:)
isNaN1247

老但黄金。它节省了我的一天。
周比

2
对我来说,这很奇怪,在现有的房地产集团中不起作用。它仅在我为其创建了特定的属性组时才起作用,例如<PropertyGroup> <MvcBuildViews>true</MvcBuildViews> </PropertyGroup>
Martin Capodici

14

构建视图需要花费一些时间,而花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>

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


我无法使用它-<MvcBuildViews>标记尚不存在,我不得不手动添加它们(如果相关)。我的视图有很多错误,并且在任何一种配置中构建都无法捕获它们。
niico

我遇到了与@niico相同的问题,但发现是PropertyGroup条件与我的构建配置和平台不匹配(条件anyCPU,构建x86)。
科布

0

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

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

有时,该汇编器无法正确加载,就我而言,它可以正常工作!

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.