我可以在我的本地计算机上运行我的Asp.Net MVC 2应用程序而不会出现问题.只需运行/调试.
但如果我已经建成它,我就无法发布它!我必须清理解决方案并再次发布.我知道这不是系统关键,但它真的很烦人."一键发布"不是"清洁解决方案,然后单击发布"
确切的错误如下:
错误11使用在应用程序级别之外注册为allowDefinition ='MachineToApplication'的部分是错误的.此错误可能是由于未在IIS中将虚拟目录配置为应用程序引起的.
我怀疑它与Views文件夹中的Web.Config有关,但是为什么只有在我之前构建一次之后.请注意,该应用程序一旦发布就可以正常工作.
所以我在MVC 3 RTM应用程序上编辑了我的csproj文件以设置以下属性:
<MvcBuildViews>true</MvcBuildViews>
Run Code Online (Sandbox Code Playgroud)
这应该导致我的视图在构建期间被编译,并在我的视图被破坏时强制构建错误.这是我做的唯一更改,但是,当我尝试构建应用程序时,出现以下错误:
在应用程序级别之外使用注册为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>
Run Code Online (Sandbox Code Playgroud)
我在这里错过了什么吗?如何正确配置MVC 3/Visual Studio 2010以在构建时验证我的视图?