Visual studio “错误”;元数据文件'\Release\project.dll';在Visual Studio中找不到“;

Visual studio “错误”;元数据文件'\Release\project.dll';在Visual Studio中找不到“;,visual-studio,debugging,release,resolveassemblyreference,Visual Studio,Debugging,Release,Resolveassemblyreference,最近我开始随机收到以下消息: 在Visual Studio中找不到元数据文件“…\Release\project.dll” 我有一个包含几个项目的解决方案。当前构建模式为调试,所有项目的配置都设置为调试。但当我尝试运行主项目时-有时它会给我一些错误,所有错误都是“元数据文件”…\Release\projectX.dll“找不到”-并且,看,它说的是关于发布文件夹,尽管当前模式是Debug。为什么?我试图在所有解决方案文件中搜索对“Release\projectX.dll”的引用,但在Resolv

最近我开始随机收到以下消息:

在Visual Studio中找不到元数据文件“…\Release\project.dll”

我有一个包含几个项目的解决方案。当前构建模式为调试,所有项目的配置都设置为调试。但当我尝试运行主项目时-有时它会给我一些错误,所有错误都是“元数据文件”…\Release\projectX.dll“找不到”-并且,看,它说的是关于发布文件夹,尽管当前模式是Debug。为什么?我试图在所有解决方案文件中搜索对“Release\projectX.dll”的引用,但在ResolveAssemblyReference.cache文件中找到了一个

我在互联网上做了一个很好的搜索,发现一些人有类似的问题,但没有解决方案,或者至少没有有效的解决方案

我试图删除对这些项目的引用并读取它们,但过了一段时间,我又开始出现这些错误

它看起来像一只虫子。当我总是使用调试模式时,为什么它在发布文件夹中搜索引用的项目


PS.对于遇到这个问题的人:我无法用简单的方法解决它。在我重新安装Windows后,它才消失:(

我似乎记得几个月前有一个类似的问题。我通过将引用的DLL复制到发布文件夹暂时解决了这个问题,从而满足了Visual Studio的期望。后来,我在实际代码中发现了对发布DLL的引用。您应该尝试在整个项目中搜索\Release\project.DLL。


另外,我注意到VisualStudio单元测试项目有时会放置一个“DeploymentItem”属性,如果您在调试和发布之间切换,Visual Studio可能会混淆DLL是否不再位于预期位置。根据我的经验,如果您不将这些属性作为“单个部署”的一部分放在那里,则可以安全地删除这些属性场景。

是否检查了项目设置对话框右上角的Configuration manager设置

有时,在所有发布条目之间会出现一个调试条目。
如果是这样的话,解决方案的依赖关系图创建的自动依赖关系就会变得非常混乱。

当您说您删除了对这些项目的引用并重新添加它们时,您是如何重新添加它们的?您使用了Visual Studio中“添加引用”对话框中的“浏览”选项卡?还是使用了“项目”选项卡(哪个列出了解决方案中的相邻项目)

编辑:如果使用“浏览”选项卡,并手动添加对位于/Release文件夹中的.dll的引用,则无论您当前处于何种模式(调试或发布),Visual Studio都将始终在该位置查找.dll

如果您从发布文件夹中删除了实际的.dll文件(手动或通过执行“Clean Solution”),那么您的引用将中断,因为.dll不存在


我建议删除对ProjectX.dll的引用,然后再次添加它——但这次,请使用“添加引用”中的“项目”选项卡对话框。当您以这种方式添加引用时,Visual Studio知道从何处获取相应的.dll。如果您处于调试模式,它将从/Debug文件夹中获取。如果处于发布模式,则从/Release文件夹中获取。您的生成错误将消失,并且您也将不再(不正确地)处于该状态在调试模式下引用.Delp.DLL。

< p>我们经常遇到这个问题,但是只引用C++项目中的C++/CLI项目。显然,微软决定不修复的是VisualStudio中的一个bug,因为它太复杂了,而且它们承诺对C++构建系统进行彻底检查,现在该系统的目标是可视化。tudio2010

那是一段时间以前的事了,也许修复程序甚至进入了VisualStudio2008;我不再跟进它了

  • 交换机配置
  • 重新启动Visual Studio
  • 构建解决方案

我以前遇到过此问题,我发现解决此问题的唯一方法是运行Clean Solution,然后重新启动Visual Studio。

此问题是由于pdb文件或CodeContracts造成的

要解决这个问题:

  • 清理输出文件夹并重新生成解决方案

  • 重新配置CodeContracts或将其禁用以进行临时生成


  • 在我有多个项目的解决方案中,我也看到了这个错误(通常是netTiers项目,我更新了一个或多个子项目以适应4.0框架)。删除它可能会有问题。但是,通常可以通过首先修复子项目中的所有其他错误(例如,任何缺少的引用)来解决,分别重建这些子项目,然后在Visual Studio中删除/添加对这些子项目的任何引用。就我个人而言,我很少有机会通过单独清理解决方案来解决此错误。

    我遇到此问题,这是由于有问题的库(dll)中的无效方法没有返回值,例如

    public bool DoSomething()
    {
       //I never bothered putting code here....
    
    }
    

    当我指出这一点时,编译的所有内容:)

    当您签出具有多个项目的解决方案时,似乎会发生这种情况,这些项目之间有引用,并且您以前从未构建过它。如果您直接引用DLL,而不是引用该项目,则会收到此消息。
    您应该始终使用“添加引用”对话框中的“项目”选项卡向同一解决方案中的项目添加引用。这样,VS可以知道构建解决方案的正确顺序。

    我们最近在从Office 2007升级到Office 2010后遇到了此问题-我们必须手动将项目中的引用更改为的版本14我们在某些项目中使用的Office互操作


    希望这能有所帮助——我们花了几天时间才弄明白。正如维达尔所描述的,今天我也遇到了同样的情况