我在一个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文件的绝对路径…我读到过关于长度的问题。这是一个可能的问题吗?

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


当前回答

哇,看起来这个错误可能来自任何地方。

无论如何,我添加了一个新的WebAPI控制器到我的MVC应用程序,它自动魔术般地从NuGet得到所有的引用。后来我从NuGet UI中删除了引用,但我忘记删除使用它们的文件(即System.Http)。

出于某种原因,我收到的错误是这样的,以及一个关于未使用变量的简单警告。

我注释掉了变量,至少摆脱了警告,重新构建指出了所有使用不存在引用的文件。删除这些文件后,一切正常。

其他回答

对我来说,它试图在曾经包含项目的路径中找到一个DLL,但我们已经将它移动到一个新目录。解决方案有通往项目的正确路径,但Visual Studio不知何故一直在旧位置寻找。

解决方案:将每个问题重命名为项目-只需添加一个字符或其他-然后重命名为原来的名称。

这必须在Visual Studio中重置某种类型的全局缓存,因为这会清除这个问题和其他类似的问题,而Clean之类的东西则不会。

我在VS2019中也遇到了同样的问题。以下是你需要做的:

在某个分支上推送最新的更改 删除项目 从快速入门中删除项目-你可以尝试引用不存在的项目,它会要求你删除 克隆项目 运行项目

我在Visual Studio 2015中遇到了这个错误,当时我从一个扩展方法的调用中删除了类型注释,只留下了空的尖括号。

所以我有obj.extensionMethod<>()而不是obj.extensionMethod<Type>()。

我会把这个归类为Visual Studio中的bug,因为我不知道这个错误是如何产生那个错误的。

在对解决方案进行了大量更改之后,我开始遇到这个问题,搁置更改并撤销它。

解决这个问题的唯一方法是删除并再次添加从TFS到我的本地文件夹的映射。

在获得最新的(Team Foundation Server (TFS)命令)后,我遇到了这个问题。

在解决了冲突之后,我发现使用了项目中不存在的名称空间的语句。

我删除了using语句然后清理并重建,一切正常。