我在一个WPF, c# 3.0项目上工作,我得到了这个错误:

Error 1 Metadata file
'WORK=- \Tools\VersionManagementSystem\BusinessLogicLayer\bin\Debug
\BusinessLogicLayer.dll' could not be found C:\-=WORK=- \Tools
\VersionManagementSystem\VersionManagementSystem\CSC VersionManagementSystem

这是我如何引用我的usercontrols:

xmlns:vms="clr-namespace:VersionManagementSystem"
<vms:SignOffProjectListing Margin="5"/>

每次构建失败后都会发生这种情况。我能得到解决方案编译的唯一方法是注释掉所有用户控件并重新构建项目,然后取消注释用户控件,一切正常。

我已经检查了构建顺序和依赖项配置。

正如你所看到的,它似乎截断了DLL文件的绝对路径…我读到过关于长度的问题。这是一个可能的问题吗?

注释、构建和取消注释是非常烦人的,构建变得非常烦人。


当前回答

我得到了同样的错误“元数据文件'. DLL '找不到”,我尝试了上面描述的一些事情,但错误的原因是我引用了第三方DLL文件,该文件的目标是一个。net版本高于我的项目目标。net版本。所以解决方案是改变我项目的目标框架。

其他回答

In my case it happened to me when I was referencing NuGet packages locally and moved their directory to somewhere else, I changed the path inside NuGet.Config but unfortunately I discovered that I should change the .csproject files manually to update the reference path, but the error message CS0006 was way far from describing this problem. Generally it also happens when there is a reference to DLL that couldn't be found, to be able to identify issue search your references in the project with the problem you will find some references with warning icon associated with them, try fixing those and it should work as expected.

我也遇到过这个问题。首先,您必须手动构建您的DLL项目,右键单击“构建”。那么它就会起作用。

关闭和重新打开Visual Studio 2013对我来说很管用!

以前的解决方案都不适合我,所以我将与大家分享。

我有这个问题后,合并一些新的类库从另一个分支相互引用。删除项目中的引用并重新创建它们最终解决了这个问题。显然Visual Studio合并了错误的文件路径。

右键单击解决方案并单击Clean。 右键单击解决方案并单击Rebuild。