剃刀意见没有给编译时错误[复制](razor views are not giving compil

2019-08-31 08:30发布

这个问题已经在这里有一个答案:

  • 在ASP.NET MVC编译浏览 8个回答
  • 有错误的剃刀语法编译时,它不应该编译 1个回答

我最近安装了VS 2012专业版。

当我尝试建立我的MVC4 Web项目。 它不会在Razor视图承认错误,当我做“生成”或“重新构建”。

例如
我删除命名空间从项目/或者说给它改名。 我构建解决方案,它给我的错误在所有的CS文件,这是我固定通过改变名称空间。 整个解决方案成功打造。 当我运行该项目,它给了我编译错误说,命名空间没有找到,因为旧的命名空间是在一些看法(* .cshtml文件)仍称。

预计解决方案
我希望当我做“生成”或“重新构建”,应该认识到这样的错误,让我看看连同其他任何错误。

这是工作的罚款VS 2010中,我失去了任何配置?

提前致谢 !! 阿米特

编辑我发现自己的答案,我认为这是年初发布问题:

有错误的剃刀语法编译时,它不应该编译

另一个问题

在.csproject文件变更值的真,当我开始建立它显示了错误的项目,但它显示了在同一时间只有一个错误后。 比方说,我在总3次5个错误。 它只是告诉我一个错误。 是否有任何解决方案,因此,它显示了所有的5个错误?

Answer 1:

当我尝试建立我的MVC4 Web项目。 它不会在Razor视图承认错误,当我做“生成”或“重新构建”。

似乎是正常的。 剃刀视图由ASP.NET运行时动态编译。 如果你希望你的意见,在编译时建立,你可以添加下面的选项到你.csproj文件:

<PropertyGroup>
    <MvcBuildViews>true</MvcBuildViews>
</PropertyGroup>

你可以看看在这篇文章的更多细节。



Answer 2:

我建议你添加MmvcBuildViews标签作为发行的PropertyGroup标签的孩子,所以当你在释放模式(或当您在发布模式发布)编制的意见只是编译。 这样一来,您的应用程序速度更快,当你正在调试。 而且,你在部署之前编译时检查(当你建立在释放模式)。 总之,您获得两全其美。

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
    <MvcBuildViews>true</MvcBuildViews>
  </PropertyGroup>


Answer 3:

根据我的经验,除了真正的设置上面提到的,你还需要确保以下设置在您的csproj文件存在:

<Target Name="MvcBuildViews" AfterTargets="AfterBuild" Condition="'$(MvcBuildViews)'=='true'">
<AspNetCompiler VirtualPath="temp" PhysicalPath="$(WebProjectOutputDir)" />
</Target>


Answer 4:

默认情况下,它不会编译意见。 您可以启用此功能,但请记住,它会增加编译时间。

您可以启用通过以下步骤编译观点:

  • 卸载项目
  • 打开项目文件
  • 查找<MvcBuildViews>false</MvcBuildViews>并改变它有true
  • 关闭项目文件并重新加载项目


Answer 5:

它真的很简单答案通过这个步骤去:

卸载项目

编辑项目

比搜索:

<Target Name="MvcBuildViews" AfterTargets="AfterBuild" Condition="'$(MvcBuildViews)'=='true'">
  <AspNetCompiler VirtualPath="temp" PhysicalPath="$(WebProjectOutputDir)" />
</Target>

下面添加

<Target Name="AfterBuild" Condition="'$(Configuration)'!='Debug'">
  <RemoveDir Directories="$(BaseIntermediateOutputPath)" />
</Target>

这比卸载项目。 建立

并检查乌尔语法正常工作。

我确定。



文章来源: razor views are not giving compile time error [duplicate]