【问题标题】:Ambiguous dll parser error when trying to debug a project尝试调试项目时出现模棱两可的 dll 解析器错误
【发布时间】:2020-06-29 20:57:23
【问题描述】:

我在尝试调试 MVC 解决方案时遇到以下错误:


解析器错误 说明:解析服务此请求所需的资源时出错。请查看以下特定的解析错误详细信息并适当修改您的源文件。

解析器错误消息:“HandiGamer.MvcApplication”类型不明确:它可能来自程序集“C:\Users\Kevin\documents\visual studio 2010\Projects\HandiGamer\HandiGamer\bin\HandiGamer.DLL”或来自程序集“C:\Users\Kevin\documents\visual studio 2010\Projects\HandiGamer\HandiGamer\bin\HandiGamer.WebUI.DLL”。请在类型名称中明确指定程序集。

来源错误:

第 1 行:

源文件:/global.asax 行:1


这是我第一次在我的项目中遇到此错误。自从我上次调试它以来,我所做的只是一个 .master 页面、一个视图,并且我添加了几个 ViewModel 类。我的解决方案有两个项目——HandiGamer.WebUI 和 HandiGamer.Domain——但我以前从未遇到过与它们有关的歧义问题。重建我的解决方案什么也没做。我不知道还能做什么。

【问题讨论】:

    标签: debugging asp.net-mvc-2


    【解决方案1】:

    您最近是否重命名了您的程序集?在这种情况下,旧的 DLL 可能仍在您的 bin 文件夹 ...\Projects\HandiGamer\HandiGamer\bin 中,并且正在运行时加载。正如错误消息告诉您的那样,DLL

    HandiGamer.DLL
    HandiGamer.WebUI.DLL

    两者都包含HandiGamer.MvcApplication,因此解析器无法决定采用哪一个,并且在您尝试运行它时会发生冲突(编译通常可以正常工作且没有错误,该问题通常发生在运行时)。

    要解决此问题,请手动将它们从上述bin 文件夹中删除,然后重新构建整个解决方案。不幸的是,“清洁解决方案”并不总是能正确清理所有内容,因此有时您必须自己完成。


    提示:如果您卸载项目(在 Visual Studio 中:右键单击项目,然后选择“卸载...”),您可以随后在文本编辑器中编辑项目文件并然后在那里搜索程序集(为此,再次右键单击卸载的项目,然后选择“编辑...”)。

    它包含您指定的所有引用 - 但请注意不要弄乱它。搜索并找到您要查找的信息后,将其关闭并重新加载项目。这通常比浏览项目的“参考”部分中的所有条目要快得多。

    【讨论】:

      【解决方案2】:

      看起来MvcApplication 类是在HandiGamer 命名空间的两个程序集中定义的。尝试使用 Reflector 打开它们,通过搜索此类名称来确认这一点。然后通过仅将其保留在您的 ASP.NET MVC 应用程序程序集中来删除重复的类。另一个项目必须是类库,而不是 Web 应用程序。

      【讨论】:

      • 在这方面我完全是新手。我在哪里可以找到反射器?我不能使用扩展,请看这里:stackoverflow.com/questions/4687155/… 这个问题也没有解决。我已将其发送到 Microsoft Connect,但到目前为止他们没有收到任何消息。但是,我离题了。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-06-16
      • 2012-05-02
      • 1970-01-01
      • 2013-10-25
      • 1970-01-01
      • 1970-01-01
      • 2022-01-20
      相关资源
      最近更新 更多