20

所以我在运行时使用我的 asp.net mvc3 应用程序时遇到错误,当我检查代码时,我看到它上面有一条红线,错误列表显示没有定义这样的函数,但它仍然可以正常编译。错误仅在运行时出现?我正在使用T4MVC,我希望它能帮助我避免这样的问题!?

这是设计使然还是我在这里做错了什么?

在此处输入图像描述

上面的代码不应该编译,因为那里没有这样的方法!

它在运行时失败:

在此处输入图像描述

这种事情经常发生,不仅仅是未定义的方法,甚至是变量等。

4

1 回答 1

33

这是设计使然。默认情况下禁用 MVC 视图的构建。您可以像这样在 Visual Studio 中启用 MVC 视图的构建:

  • 在 Visual Studio 中右键单击您的项目
  • 卸载项目
  • 编辑项目

  • 将值MvcBuildViews从 false 更改为true

    <?xml version="1.0" encoding="utf-8"?>
    <Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    ...
    <MvcBuildViews>true</MvcBuildViews>
    ...

  • 重新加载项目

下次编译时,如果 MVC 视图中有错误,它将无法编译。缺点是编译过程需要更长的时间。

更新

这是关于 SO 的答案,解释了如何避免错误:

在应用程序级别之外使用注册为 allowDefinition='MachineToApplication' 的部分是错误的。此错误可能是由于虚拟目录未在 IIS 中配置为应用程序所致

于 2011-02-16T08:56:00.447 回答