使用aspnet_compiler编译新的ASP.NET MVC 3项目的问题

时间:2011-03-21 16:03:09

标签: asp.net-mvc-3 razor cruisecontrol.net

我最近在我的解决方案中更新了一个使用MVC 3而不是MVC 2的项目。

从那以后,虽然它在我的机器中编译,但我在服务器中收到以下错误:

/MyProject.csproj/global.asax (1,0):

    errorASPPARSE: Could not load type 'MyNamespace.MvcApplication'.

有什么想法吗?

  • 它在我的机器中编译并正常工作。
  • 如果我在VS.NET 2010中打开它,它会在服务器中编译。
  • 它通过msbuild在服务器中编译。

更新: 失败的确切命令是:

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。

enter image description here

如果我使用Visual Studio

至少编译一次,则不会发生这种情况

如果有人善于尝试,我可以排除我测试的2台机器中的问题。

1 个答案:

答案 0 :(得分:0)

显然aspnet_compiler.exe要求/ bin目录存在,这就是为什么使用vs.net构建它一次使用aspnet_compiler.exe修复连续编译。

在将我的应用程序从mvc 2更改为mvc 3之前,我不知道为什么会这样,但我通过更改.wdproj文件中的属性来修复它

<SourceWebPhysicalPath>..\..\Project\</SourceWebPhysicalPath>

<SourceWebPhysicalPath>..\..\Project\bin</SourceWebPhysicalPath>

Source

相关问题