在构建期间检查剃刀错误
Posted
技术标签:
【中文标题】在构建期间检查剃刀错误【英文标题】:Check for razor errors during build 【发布时间】:2011-08-05 18:12:14 【问题描述】:Visual Studio(我使用的是 2010)是否可以像 C# 项目中的其他代码一样在构建过程中查找 Razor 视图中的错误?
您可以检查代码中的任何错误并认为一切都很好,这只是一种痛苦,但是除非您仔细检查每个视图,否则您似乎无法确定视图。
顺便说一句,我显然不会在我的视图中编写代码 - 例如,我只是在谈论 html 或 URL 扩展方法。
【问题讨论】:
我认为这将完全一样:***.com/questions/383192/compile-views-in-asp-net-mvc Compile Views in ASP.NET MVC的可能重复 【参考方案1】:尝试在您的项目文件中将 MVCBuildViews 设置为 true(即编辑您的 csproj 文件)
<MvcBuildViews>true</MvcBuildViews>
【讨论】:
Gave Will +1 让您首先进入那里 - 感谢您阐明解决方案以供快速参考。标记为答案。 @beardtwizzle:你也可以 + JP。这是我完全忘记的 MVC 的一个新功能(我相信 2)(而且绝对是更好的答案)。 @Will 对不起,是的 + JP 应得的 :) 老而金。它节省了我的时间。 对我来说很奇怪,这在现有的属性组中不起作用。它仅在我为其创建特定属性组时才有效,即<PropertyGroup> <MvcBuildViews>true</MvcBuildViews> </PropertyGroup>
【参考方案2】:
构建视图需要一段时间,额外的 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" />
...
有时这个汇编器不能正确加载,在我的例子中,它工作了!
【讨论】:
以上是关于在构建期间检查剃刀错误的主要内容,如果未能解决你的问题,请参考以下文章
Flutter:在构建错误期间调用了 setState() 或 markNeedsBuild()