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

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


当前回答

就我个人而言,我未能在解决方案中添加对其中一个项目的引用,这就是导致我出现错误的原因。

其他回答

建议的答案对我不起作用。这个错误是另一个问题的诱饵。

我发现我的目标是一个略有不同的。net版本,这被编译器标记为警告,但它导致构建失败。 这应该被标记为错误,而不是警告。

根据错误消息,我认为文件路径没有被截断。它看起来是不正确的。如果我正确地阅读消息,它似乎正在寻找DLL文件在…

工作= - \ VersionManagementSystem \ BusinessLogicLayer \ bin \ \工具调试\ BusinessLogicLayer.dll

这不是有效路径。是否可能将构建过程中的宏定义设置为无效值?

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

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

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

在我的情况下,我有一堆其他的构建错误(一些简单的类型转换)以及这个,我抓着我的头试图解决这个问题,我没有关注其他错误。

最终解决我的问题的是,我修复了所有其他构建错误,然后我再次构建,它成功构建。

因此,如果您有其他构建错误以及丢失的DLL文件错误,并且没有其他方法为您工作,则尝试先修复其他错误,然后再次构建解决方案。

我也遇到了同样的问题。Visual Studio没有构建被引用的项目。

写产品说明:

右键单击解决方案并单击Properties。 在左侧单击“配置”。 确保选中了“Build”下无法找到的项目的复选框。如果已选中,则取消选中,单击应用并再次选中方框。 (可选)必须在解决方案属性的发布和调试模式下执行此操作。

截图说明:

人们说一幅画胜过千言万语。点击动图放大,希望你很容易理解: