所以我在运行时使用我的 asp.net mvc3 应用程序时遇到错误,当我检查代码时,我看到它上面有一条红线,错误列表显示没有定义这样的函数,但它仍然可以正常编译。错误仅在运行时出现?我正在使用T4MVC,我希望它能帮助我避免这样的问题!?
这是设计使然还是我在这里做错了什么?
上面的代码不应该编译,因为那里没有这样的方法!
它在运行时失败:
这种事情经常发生,不仅仅是未定义的方法,甚至是变量等。
所以我在运行时使用我的 asp.net mvc3 应用程序时遇到错误,当我检查代码时,我看到它上面有一条红线,错误列表显示没有定义这样的函数,但它仍然可以正常编译。错误仅在运行时出现?我正在使用T4MVC,我希望它能帮助我避免这样的问题!?
这是设计使然还是我在这里做错了什么?
上面的代码不应该编译,因为那里没有这样的方法!
它在运行时失败:
这种事情经常发生,不仅仅是未定义的方法,甚至是变量等。
这是设计使然。默认情况下禁用 MVC 视图的构建。您可以像这样在 Visual Studio 中启用 MVC 视图的构建:
编辑项目
将值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 中配置为应用程序所致