aspnet_compiler ASPParse无法加载类型

时间:2008-11-21 21:34:46

标签: aspnet-compiler

我无法在构建环境中构建我的Web应用程序(不是Web站点)。我们在构建环境中使用DMAKE(不幸的是,这是不可协商的,因此不允许使用MSBUILD)以及通过

调用asp.net预编译器时

C:\ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ aspnet_compiler -d -nologo -p Site -f -fixednames -errorstack -v / Debug

我们收到以下错误

错误ASPPARSE:无法加载类型'X.Y.Admin.Site.Global

如果我从ide编译它是成功的。如果我然后用aspnet_compilier编译它就会成功。因此,当我尝试编译的目标dll位于我正在编译的Web应用程序的bin中时,我只能使用aspnet_compiler成功编译。

我一直在讨论使用MSBUILD讨论解决方案的帖子,遗憾的是我无法尝试。

任何帮助将不胜感激

8 个答案:

答案 0 :(得分:14)

我们的网络应用程序遇到了同样的问题:  错误ASPPARSE:无法加载类型'...'

问题是我们将文件放在磁盘上(在项目文件夹中),但它没有包含在我们的应用程序项目中(在.csproj文件中)。我们通过在项目中包含文件来解决问题:)

答案 1 :(得分:4)

我使用NANT遇到了类似的问题。诀窍是将Web应用程序代码文件编译成dll,然后在使用aspnet_compiler时包含它。

使用命令行编译器(csc.exe(c#)或vbc.exe(visual basic))使用类型库的输出编译Web应用程序。这将创建一个可以在aspnet_compiler任务中使用的dll

答案 2 :(得分:2)

您是否尝试过使用-p指定路径?听起来像它找不到那种类型/组件。

http://msdn.microsoft.com/en-us/library/ms229863(VS.80).aspx

答案 3 :(得分:1)

对于Web应用程序,您必须将.vb文件构建到dll中,然后在运行aspnet编译器之前将其放在bin文件夹中。检查visual studio中的输出窗口,您将看到VB编译器的命令行。在运行aspnet编译器之前先运行它,asp页面应该能够找到缺少的类型。

答案 4 :(得分:1)

只需删除所有binobj文件夹即可解决此问题。似乎他们在某种程度上处于不良状态。我还删除了.sou文件,但我认为这不是问题。

答案 5 :(得分:0)

我收到了同样的问题。

我通过将我的webapp的DLL从OBJ / DEBUG文件夹复制到BIN文件夹来修复它。

答案 6 :(得分:0)

我刚刚遇到此错误并找到了两种解决方法:

  • 将global.asax文件中的Codebehind属性更改为CodeFile,并将“partial”添加到类声明中
  • 在部署项目的属性页面中,设置“版本输出程序集”并提供版本号

我真的不知道为什么要么有效,但确实如此。

答案 7 :(得分:0)

解决方案:

-p站点路径必须具有.csproj文件位置的目录路径。

前: -

aspnet_compiler -p D:\Projects\MGM\mgm\mgm -v / D:\Projects\MGM-deploy\mgm_compiled