【问题标题】:aspnet_compiler ASPParse Could Not Load Typeaspnet_compiler ASPParse 无法加载类型
【发布时间】:2008-11-21 21:34:45
【问题描述】:

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

调用 asp.net 预编译器时

C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_compiler -d -nologo -p 站点 -f -fixednames -errorstack -v / 调试

我们得到以下错误

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

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

我经常看到帖子谈论使用 MSBUILD 的解决方案,但遗憾的是我无法尝试。

任何帮助将不胜感激

【问题讨论】:

    标签: aspnet-compiler


    【解决方案1】:

    我们的 Web 应用程序也遇到了同样的问题: 错误 ASPPARSE:无法加载类型“...”

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

    【讨论】:

    • 另外,我通过从硬盘驱动器中删除那些旧文件来解决这个问题,因为在我的情况下,项目不再引用它们,因为我们不想要它们。
    【解决方案2】:

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

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

    【讨论】:

    • 我误以为 aspnet_compiler 也编译了 Web 应用程序并创建了 dll。 (asp 和 compiler 这两个词让我想到了这个!)
    • +1 这个答案,它也对我有用(谢天谢地!)。在 StackOverflow 之前我们到底做了什么? :-)
    • @gerrod,我正在和自己约会,也许你的问题是修辞,但我们有 Google 群组,在此之前我们有公告板和论坛以及 UseNet。这很棒,因为没有人被评价(主要是同侪压力),但那是在过去编程的人少得多的好日子。 :) 不要误会我的意思,SO 有它的优点。
    【解决方案3】:

    您是否尝试过使用 -p 指定路径?在我看来,它找不到那种类型/程序集。

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

    【讨论】:

      【解决方案4】:

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

      【讨论】:

        【解决方案5】:

        我只需删除所有binobj 文件夹即可解决此问题。似乎他们不知何故处于糟糕的状态。我还删除了.sou 文件,但我认为这不是问题。

        【讨论】:

          【解决方案6】:

          我收到了同样的问题。

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

          【讨论】:

            【解决方案7】:

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

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

            我真的不知道为什么两者都有效,但确实有效。

            【讨论】:

              【解决方案8】:

              解决方案:

              -p 站点路径必须是.csproj文件所在的目录路径。

              ex :-

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

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2012-08-14
                • 2015-08-28
                • 2016-03-05
                • 2014-08-09
                • 2015-04-16
                相关资源
                最近更新 更多