【问题标题】:Unable to load the metadata for assembly无法加载程序集的元数据
【发布时间】:2012-07-12 14:53:41
【问题描述】:

在迁移到新的公司发行的 Windows 7 机器(从老化的 XP 机器)后,我在 Visual Studio 2010 中的项目遇到问题。

我将我的项目复制到了新机器上,但 Visual Studio 似乎在加载 WPF 设计器时遇到了问题。我有一个包含多个项目的解决方案,它构建良好且运行良好,但是当我尝试在设计器中打开 WPF 窗口时,我收到一大堆错误消息,如下所示:

"unable to load the metadata for assembly 'Foo'. This assembly may have been 
downloaded from the web.  See http://go.microsoft.com/fwlink/?LinkId=179545.  
The following error was encountered during load: Could not load file or assembly
'Foo, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its 
dependencies. The system cannot find the file specified."

(请注意错误消息中的链接似乎没有任何用处)

我认为这里的问题是我的公司 IT 人员设置了 Windows 7 机器,因此“我的文档”实际上是一个本地缓存的网络驱动器。这不是一件坏事,因为现在每当我在公司网络上时,我的所有文件都会备份,但我认为这让 Visual Studio 感到不安。

是否有解决方案不涉及放弃同步的网络驱动器(我喜欢)并将所有内容复制到本地硬盘驱动器(这会将备份放回我身上)。

【问题讨论】:

    标签: .net wpf visual-studio-2010 networking


    【解决方案1】:

    在 stackoverflow 上找到的解决方案:

    Unable to view designer in VS2010 due to DLL over the network

    这似乎对某些人有用

    "打开 devenv.exe.config (在 C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE 在我的机器上),并添加这个“

    <runtime>
        <loadFromRemoteSources enabled="true" />
    </runtime>
    

    为我工作。同样的问题在公司环境中工作,而不是在我自己的机器上。

    【讨论】:

    • 谢谢。我认为这就是问题所在。或者至少它消除了这些错误,但现在我遇到了各种其他问题,他们以他们设置我的同步的方式!
    • 如果在C:\Program Files\... 找不到它,请尝试C:\Program Files (x86)...
    【解决方案2】:

    检查您是否对安装在旧 XP 机器的本地驱动器上的 dll 有一些引用。 例如。引用一个只安装在老机器的GAC上的dll!!

    这里描述了定位和绑定到程序集的过程:

    http://msdn.microsoft.com/en-us/library/yx7xezcf(v=vs.100).aspx

    我建议你:

    1. 检查 GAC(但您的评论似乎放弃了这一点
    2. 在配置文件中查找 Codebase 标签
    3. 阅读本文http://msdn.microsoft.com/en-us/library/15hyw9x3.aspx

    【讨论】:

    • 我不认为这就是问题所在。它抱怨的所有项目都是同一个解决方案的一部分。它们从未安装在 GAC 中,仅用于 xcopy 部署。
    • 请看我的新答案并告诉我!
    • 感谢您的帮助,但我认为这不是问题所在。 只有 WPF 设计器似乎对此有问题。否则一切构建和运行都很好。无论哪种方式,我现在都在尝试让我的系统管理员修复此同步文件夹的各种问题。所以我现在不能确定问题出在哪里。
    【解决方案3】:

    当我的程序集既不在网络上,也不在共享驱动器上,也没有从 Internet 下载时,我遇到了这个问题。我意识到问题是由于程序集所在的文件夹路径较长。

    我有一个 120 个字符长的路径。我将我的程序集路径减少到 30 个字符(并删除了文件夹名称中的一些点)并且它起作用了!

    【讨论】:

      【解决方案4】:

      值得一提的是,如果您出于任何原因清理解决方案,您也会收到此错误。下次构建时,应该在这种情况下修复它。

      【讨论】:

        猜你喜欢
        • 2021-03-02
        • 1970-01-01
        • 1970-01-01
        • 2012-01-10
        • 2016-07-05
        • 2016-04-09
        • 2018-05-27
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多