找不到VS 2017元数据文件'.dll

Sve*_*rim 54 c# asp.net-mvc metadata visual-studio-2017

我知道还有另一个问题确实存在同样的问题,但是我通过了所有这些答案,没有人帮助过我.:((这是问题.)

我刚刚创建了一个新的ASP.NET MVC项目,并在解决方案中加入了一些'.dll'.现在,当我尝试构建项目时,我在5个库中的3个库中收到如下所示的错误消息.

Error   CS0006  Metadata file 'C:\Users\...\source\Database\bin\Debug\DataAccessLayer.dll' could not be found   Logic   C:\Users\...\source\Logic\CSC   1   Active

Error   CS0006  Metadata file 'C:\Users\...\source\Logic\bin\Debug\Logic.dll' could not be found    PTS2-MVC    C:\Users\...\source\PTS2-MVC\CSC    1   Active

Error   CS0006  Metadata file 'C:\Users\...\source\PTS2-MVC\bin\PTS2-MVC.dll' could not be found    PTS2-MVC.Tests  C:\Users\...\source\PTS2-MVC.Tests\CSC  1   Active
Run Code Online (Sandbox Code Playgroud)

当我转到该.dll的bin\debug文件夹时,我看到它是空的,而另一个.dll我没有收到错误消息,不是空的.但我无法解决这个问题或者我为实现这一目标所做的工作.

最常见的回答是去性质的的解决方案,去配置取消 - > 应用 - > 查询申请了,但没有奏效

Sve*_*rim 69

好吧,我现在修复它,问题是我的项目中有一些其他正常的错误消息,显然在我修复了这些消息后,当我清理并构建我的项目时,所有.dll都成功了:D

因此,对于将来遇到此问题的其他人:确保您的项目中没有任何其他错误消息,如果您这样做,请先修复它们!

我要感谢大家帮助我!

  • 同样的问题在这里 错误列表窗口中似乎存在一个错误,其中错误有时不显示(有时错误已修复但仍然显示,尽管执行了清理/重建)."输出"窗口更可靠,因此请在遇到此问题时进行检查. (8认同)
  • 我实际上遇到了相同的问题,但是没有其他错误出现,只有关于.dll丢失的1个错误。但是随后在某个时刻(无需更改任何代码),突然出现了以前没有出现过的语法错误。一旦纠正了该错误,然后按照您的说明进行清理,重建并一切正常。 (3认同)
  • 我发现我必须在 Visual Studio 的“错误列表”选项卡中启用警告。我在警告中看到无法解析引用的 .dll。我不得不删除现有的引用并在正确的目录中添加一个新的引用。现在一切都很好。 (2认同)
  • 这是唯一真正对我有帮助的答案。高超!谢谢! (2认同)

小智 23

修复此错误的步骤:无法找到MetaData文件.dll.

  1. 清理所有项目.

  2. 卸载所有项目.

  3. 重新加载所有项目.

  4. 重建解决方案.

然后问题解决了.

  • 这确实解决了我的问题。 (2认同)

ebo*_*000 9

在我的情况下,有一个错误,但它没有被VS正确解析并显示在"错误列表"窗口中.要找到它,您可以从构建窗口查看ol"输出",并从上到下解析消息并解决实际错误.M $,请修理!这对世界集体开发者来说是一个巨大的浪费时间.

  • 这为我解决了这个问题。尝试了所有其他解决方案,但输出窗口指出我的项目是针对 netframework 4.7.2 构建的,该项目高于目标框架 netframework 4.6。只需编辑 .csjproj 以指向 4.6。 (2认同)

j00*_*0hi 7

我有一个包含多个项目的解决方案的问题.

我认为,它来自复制.csproj并将副本添加到解决方案中.一个.csproj的文件包含一个<ProjectGuid>元素.我将复制的项目的GUID设置为新的GUID.

我还执行了以下步骤:

  1. 关闭解决方案
  2. 删除bin文件夹
  3. 删除所有obj文件夹
  4. 开放解决方案和构建


Luc*_*tes 6

我按照以下步骤解决了这个问题:

  1. 清洁溶液
  2. 关闭 Visual Studio
  3. 从项目目录中删除 /bin
  4. 重新启动 Visual Studio
  5. 重建解决方案


小智 5

仔细检查项目文件夹的名称。在我的情况下,我的项目文件夹的名称带有空格。当我使用git bash从Team Foundation Server克隆项目时,文件夹名称中的空格被转换为:“%20”。将这些更改回空格为我解决了这个问题。

  • 同样的问题,因为 STUPID VSTS。 (2认同)
  • 这就是上述错误的确切原因。谢谢你的提示。有效 (2认同)

小智 5

您应该检查的另一件事是任何引用项目的目标框架,以确保调用项目使用相同或更高版本的框架。

我遇到了这个问题,我尝试了之前建议的所有答案,然后凭直觉检查了框架。被引用的项目之一的目标是 4.6.1,而调用项目仅为 4.5.2。