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

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


当前回答

对我来说,这仍然是VS2022当前版本的一个“功能”。

构建一个解决方案的全部~80个项目 取消中间的构建 卸载~70个项目,并做一个重建所有

导致错误。解决办法:

重新加载所有项目 从头到尾重建 然后卸载

并且在没有元数据错误的情况下,重新构建全部成功

其他回答

我在Visual Studio 2012中有很多项目的解决方案中遇到了这个问题。以与项目构建顺序相同的顺序手动重新构建解决方案中的每个项目(在解决方案资源管理器中右键单击并重新构建)为我修复了它。

最终我找到了一个给我一个编译错误的程序。我修复了错误,解决方案将在此之后正确构建。

Visual Studio 2019这对我来说很有效:

关闭Visual Studio 删除隐藏的。vs文件夹 重新打开Visual Studio并重新构建解决方案。

我在一个.csproj文件中有一个合并冲突,最终得到了一个构建目标的两个副本。

<编译包含=“SystemCodes\APSystemCodes.cs” />

在我消除了复制构建工作。

在我的网页里。配置文件更改此

<?xml version="1.0" encoding="utf-8"?>

这个

<?xml version="1.0"?>

修正了我的问题

发生此问题的原因是您正在使用的特性不受项目所选.net版本的支持。

对我来说,原因是我被利用了??运算符检查空值并抛出异常。

奇怪的是,VS并没有在构建错误列表中告知问题的实际原因。

但是您可以在构建的Output日志中找到这些信息。