因此,我在MVC 3 RTM应用程序上编辑了我的csproj文件,以设置以下属性:
<MvcBuildViews>true</MvcBuildViews>
这将导致我的视图在构建过程中被编译,并且如果我的视图被破坏,将导致构建错误。这是我所做的唯一更改,但是,当我尝试构建应用程序时,出现以下错误:
使用超出应用程序级别注册为allowDefinition =’MachineToApplication’的节是错误的。此错误可能是由于未在IIS中将虚拟目录配置为应用程序引起的。
如果我改回false,项目将编译并成功运行,
以下是在csproj文件中配置的构建任务(这些任务从未进行过手动编辑,它们是由Visual Studio 2010添加的)
<Target Name="BeforeBuild"> </Target> <Target Name="AfterBuild"> </Target> --> <Target Name="MvcBuildViews" AfterTargets="AfterBuild" Condition="'$(MvcBuildViews)'=='true'"> <AspNetCompiler VirtualPath="temp" PhysicalPath="$(WebProjectOutputDir)" /> </Target>
我在这里想念什么吗?如何在构建时正确配置MVC 3 / Visual Studio 2010以验证我的视图?
几天前,我遇到了这个问题,并通过删除obj / Debug文件夹来解决此问题。清理项目也可以。不过,我不知道问题的原因。
有关更永久的解决方案,请参见Joe Cartano的答案。