无法加载程序集的元数据

时间:2012-07-12 14:53:42

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

在迁移到新的企业发布的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感到不安。

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

4 个答案:

答案 0 :(得分:9)

此处在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>

为我工作。在企业环境中工作的问题相同,而不是在我自己的机器上工作。

答案 1 :(得分:1)

检查您是否在旧XP机器的本地驱动器上安装了dll。 例如。引用只安装在旧机器的GAC上的DLL !!

此处描述了定位和绑定到装配的过程:

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

我建议你:

  1. 要查看GAC(,但您的评论似乎放弃了此
  2. 在配置文件中查找代码库标记
  3. 阅读此http://msdn.microsoft.com/en-us/library/15hyw9x3.aspx

答案 2 :(得分:0)

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

我的路径长120个字符。我将组装路径减少到30个字符(并删除了文件夹名称中的一些点)并且它有效!

答案 3 :(得分:0)

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