我无法在构建环境中构建我的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讨论解决方案的帖子,遗憾的是我无法尝试。
任何帮助将不胜感激
答案 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)
只需删除所有bin
和obj
文件夹即可解决此问题。似乎他们在某种程度上处于不良状态。我还删除了.sou
文件,但我认为这不是问题。
答案 5 :(得分:0)
我收到了同样的问题。
我通过将我的webapp的DLL从OBJ / DEBUG文件夹复制到BIN文件夹来修复它。
答案 6 :(得分:0)
我刚刚遇到此错误并找到了两种解决方法:
我真的不知道为什么要么有效,但确实如此。
答案 7 :(得分:0)
解决方案:
-p站点路径必须具有.csproj文件位置的目录路径。
前: -
aspnet_compiler -p D:\Projects\MGM\mgm\mgm -v / D:\Projects\MGM-deploy\mgm_compiled