我最近在我的解决方案中更新了一个使用MVC 3而不是MVC 2的项目。
从那以后,虽然它在我的机器中编译,但我在服务器中收到以下错误:
/MyProject.csproj/global.asax (1,0):
errorASPPARSE: Could not load type 'MyNamespace.MvcApplication'.
有什么想法吗?
更新: 失败的确切命令是:
C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\aspnet_compiler.exe -v /MyProject.csproj -p c:\cruisecontrol\trunk.project\checkout\Solution\Project -u -f .\TempBuildDir\
如果我在服务器中打开VS.NET 2010,请手动编译一次,然后命令运行正常。
问题是我的CC.NET删除了所有内容,然后从头开始从源代码控制中检出它,所以这种方法对我不起作用。虽然它很有趣,因为它很奇怪。
更新2: 我能够在本地重现这个,所以它在CC.NET服务器中并不是一个特别的问题 有人可以尝试重现吗?
使用剃刀的MVC 3应用程序(虽然我怀疑它有所不同),在其上运行aspnet_compiler,并查看它是否因该错误而失败。只要创建解决方案和项目,就关闭VS.NET。
如果我使用Visual Studio
至少编译一次,则不会发生这种情况如果有人善于尝试,我可以排除我测试的2台机器中的问题。
答案 0 :(得分:0)
显然aspnet_compiler.exe要求/ bin目录存在,这就是为什么使用vs.net构建它一次使用aspnet_compiler.exe修复连续编译。
在将我的应用程序从mvc 2更改为mvc 3之前,我不知道为什么会这样,但我通过更改.wdproj文件中的属性来修复它
这
<SourceWebPhysicalPath>..\..\Project\</SourceWebPhysicalPath>
到
<SourceWebPhysicalPath>..\..\Project\bin</SourceWebPhysicalPath>