2008-11-21 233 views
14

我无法在构建环境中构建我的Web应用程序(不是Web站点)。我们在我们的构建环境中使用DMAKE(这很遗憾是不可协商的,因此不允许使用MSBUILD)以及在通过aspnet_compiler ASPParse无法加载类型

调用asp.net预编译器时C:\ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ aspnet_compiler -d -nologo -p -f网站-fixednames -errorstack -v /调试

我们得到以下错误

错误ASPPARSE:无法加载类型“XYAdmin.Site.Global

如果我从ide编译它是成功的。如果我然后用aspnet_compilier编译它是成功的。所以我只能得到一个成功的编译与aspnet_compiler当我试图编译的目标DLL是在我正在编译的Web应用程序的bin。

我一直在发帖讨论使用MSBUILD解决方案,很遗憾,我不能尝试。

任何帮助,将不胜感激

回答

0

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

4

我遇到了一个类似的问题,使用南特。诀窍是将Web应用程序代码文件编译为dll,然后在使用aspnet_compiler时将其包含在内。

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

+0

我错误的印象是,aspnet_compiler也编译了web应用程序并创建了dll。 (单词asp和编译器让我想到了这个!) – AndyM 2010-02-24 12:48:02

0

我收到了同样的问题。

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

13

我们对我们的Web应用程序相同的问题: 错误ASPPARSE:未能加载类型“...”

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

0

我只是有这个错误的文件解决了这个问题,并发现2种方式来解决它,或者:

  • 变化在Global.asax文件的CodeFile代码隐藏属性并添加“部分”,以类声明
  • 在部署项目的属性页,设置“版本输出组件”,并提供一个版本号

我真的不知道为什么无论是工作,但它没有。

0

解决方案:

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

例如: -

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

这个问题通过简单的删除所有binobj文件夹解决了我。好像他们处于不好的状态。我也删除了.sou文件,但我不认为这是问题。

相关问题