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

nig*_*der 133 debugging release resolveassemblyreference visual-studio

最近我开始随机收到这条消息:

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

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

我通过互联网进行了很好的搜索,发现了一些有类似问题的人,但没有解决方案,或者至少没有可行的解决方案.

我试图删除对这些项目的引用并阅读它们,但有一段时间我又开始重新获得这些错误.

这似乎是个bug.当我总是使用调试模式时,为什么要在Release文件夹中搜索引用的项目?

PS.对于那些遇到这个问题的人:我无法轻易解决它.它重新安装Windows后才消失:(

bea*_*mes 136

每个人都是正确的...尝试一切......(按一点点浪费很多时间)

  1. 你有不好的代码吗?先解决这个问题.
  2. 清理解决方案并重新启动Visual Studio
  3. 删除/添加引用
  4. 检查具有较大项目的构建顺序并验证
  5. 手动重建子项目
  6. 手动将项目之间的dll复制到关联的bin文件夹中
  7. 去喝杯咖啡,弹一些弹球明天回来......你可能会想到其他的东西.

  • #7解决了我的问题:) (25认同)
  • 您需要清理所有错误并使解决方案/项目稳定. (16认同)
  • 删除/添加为我工作的违规项目的参考 (8认同)
  • 我在一个自制的引用dll中有不匹配的命名空间和项目名称.此外,它是使用.NET 4.5.2而不是4.5构建的.人! (6认同)
  • 删除和添加引用为我做了伎俩. (2认同)
  • 我已经玩弹球了一个星期了。 (2认同)

小智 21

我有同样的问题.拥有50多个项目的大视觉工作室解决方案

所有参考文献都作为项目添加.项目构建顺序是正确的(右键单击项目并选择构建顺序).

但是,在构建一些较高级别的项目时,他们所依赖的"根"项目并未构建.

问题是这些项目没有选择在当前配置下构建(不知道这是怎么发生的).

要选中此选项,请选择"Configuration Manager"("构建"菜单),然后检查是否将有问题的项目设置为构建.


Dar*_*weg 16

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

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

如果您从Release文件夹中删除了实际的.dll文件(手动或通过"清理解决方案"),那么您的引用将会中断,因为.dll不存在.

我建议删除对ProjectX.dll的引用,并再次添加它 - 但这一次,使用"添加引用"对话框中的"项目"选项卡.当您以这种方式添加引用时,Visual Studio知道从哪里获取相应的.dll.如果您处于调试模式,它将从/ Debug文件夹中获取它.如果处于发布模式,则为/ Release文件夹.您的构建错误应该消失,并且在调试模式下您也将不再(不正确地)引用Release .dll.


Vik*_*ram 15

好吧,我的答案不仅仅是所有解决方案的总结,而且还提供了更多.

第(1)节:

一般解决方案:

我有4个这种错误('无法找到元数据文件')以及1错误说'源文件无法打开('未指定错误')'.

我试图摆脱'无法找到元数据文件'的错误.为此,我阅读了许多帖子,博客等,发现这些解决方案可能有效(在此汇总):

  1. 重启VS并再次尝试构建.

  2. 转到"解决方案资源管理器".右键单击Solution.转到" 属性".转到"配置管理器".检查是否选中了"Build"下的复选框.如果未选中任何一个或全部,请检查它们并再次尝试构建.

  3. 如果上述解决方案不起作用,则按照上面步骤2中提到的顺序进行操作,即使选中了所有复选框,也要取消选中它们,再次检查并再次尝试构建.

  4. 构建顺序和项目依赖性:

    转到"解决方案资源管理器".右键单击Solution.转到"项目依赖关系......".您将看到2个选项卡:"依赖关系""构建顺序".此构建顺序是构建解决方案的顺序.检查项目依赖项和构建顺序,以验证依赖于其他项目(比如'project2')的某个项目(比如'project1')是否正在尝试在该项目之前构建(project2).这可能是导致错误的原因.

  5. 检查丢失的.dll的路径:

    检查丢失的.dll的路径.如果路径包含空格或任何其他无效路径字符,请将其删除并再次尝试构建.

    如果这是原因,则调整构建顺序.


第(2)节:

我的具体案例:

我尝试了上面的所有步骤,其中包含各种排列和组合,重启VS几次.但是,它没有帮助我.

所以,我决定摆脱我遇到的其他错误('源文件无法打开('未指定错误')').

我遇到了一个博客:http: //www.anujvarma.com/tfs-errorsource-file-could-not-be-opened-unspecified-error/#comment-1539

我尝试了那个博客中提到的步骤,我摆脱了错误'源文件无法打开('未指定错误')',令人惊讶的是我摆脱了其他错误('无法找到元数据文件').


第(3)节:

故事的道德启示:

尝试上面第(1)节(以及任何其他解决方案)中提到的所有解决方案以消除错误.如果没有任何效果,根据上面第(2)节中提到的博客,从.csproj文件中删除源控件和文件系统中不再存在的所有源文件的条目.



jas*_*onh 11

我之前遇到过这个问题,我发现解决它的唯一方法是运行Clean Solution然后重新启动Visual Studio.

  • 这个也适合我.多次清理并没有任何效果.一旦我做了一个干净并重新启动,它又开始工作了.多烦啊 (3认同)

Seb*_*ten 7

以管理员身份重新打开Visual Studio.


Ada*_*man 7

对我而言,通常关闭目标框架(4.5.2而不是4.6)如果修复项目的目标框架以匹配解决方案和构建的目标框架,则将创建一个新的.dll.


Rob*_*vey 1

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

另外,我注意到 Visual Studio 单元测试项目有时会在指向目标 DLL 的每个测试方法上放置一个“DeploymentItem”属性,如果您在“调试”和“发布”之间切换,如果 DLL 不再存在,Visual Studio 可能会感到困惑。在预期的位置。根据我的经验,如果您没有自己将这些属性作为“单一部署”方案的一部分放置在那里,则可以安全地删除它们。


归档时间:

查看次数:

182736 次

最近记录:

6 年 前