我在一个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)。

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

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

其他回答

当我试图发布我的项目时,我犯了这个错误,

所有的答案都在上面,没有帮助我……

我只是改变了我的部署和发布成功!

对我来说,这是错误的文件夹名称。如果从将空格替换为'%20'的源代码关闭,则会得到此类错误。 解决方案-重命名命名不当的文件夹。

在我的例子中:去添加引用。在引用管理器窗口中取消对其他项目的DLL项目的勾选。保存它。再次将引用DLL项目添加到其他项目。

区分大小写的

在我的例子中,错误消息如下

严重性代码描述项目文件行抑制状态 命令"C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools\ gaacuti .exe" /i "C:\Users\cmaggiul\source\repos\ consumer - evaluation -api\EValueApi\EValueApi\bin\debug\EValueApi.dll"退出代码3。EValueApi

我沿着路径找到了EValueApi.dll文件,并意识到调试目录在Windows中是大写的。我将目录更改为小写(以匹配gacutil.exe正在使用的位置,它解决了我的问题。

以上几点我都同意,只是有一点不同。 在我的例子中:我使用的是Visual Studio 2019。我结束了VS-2019,以VS-2017开始。并重建项目一切工作都很好! 我的职位日期是2019年4月19日