错误 MSB6006:"lc.exe" 退出,代码为 -1

error MSB6006: "lc.exe" exited with code -1

我无法再构建我的应用程序了,
每次我尝试编译时都会出现以下错误。

error MSB6006: "lc.exe" exited with code -1

我从未更改 Microsoft.Common.CurrentVersion.targets 文件(或与 MSBuild 相关的任何其他文件)中的任何内容。


文件的完整路径:

C:\Program Files (x86)\Microsoft Visual Studio19\Community\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets

错误似乎是be/arise的行:

<LC
    Sources="@(_LicxFile)"
    LicenseTarget="$(TargetFileName)"
    OutputDirectory="$(IntermediateOutputPath)"
    OutputLicense="$(IntermediateOutputPath)$(TargetFileName).licenses"
    ReferencedAssemblies="@(ReferencePathWithRefAssemblies);@(ReferenceDependencyPaths)"
    NoLogo="$(NoLogo)"
    ToolPath="$(LCToolPath)"
    SdkToolsPath="$(TargetFrameworkSDKToolsDirectory)"
    EnvironmentVariables="$(LCEnvironment)"
    MSBuildArchitecture="$(LCMSBuildArchitecture)"
    TargetFrameworkVersion="$(TargetFrameworkVersion)"
    >

这里的主要问题是我可以编译所有其他应用程序,但不是我最重要的应用程序,它是使用 .NET Framework 4.7.2 用 C# WPF 编写的。

有人知道为什么我可能无法编译解决方案吗?

error MSB6006: “lc.exe” exited with code -1

这个错误表示你的项目有问题而不是Microsoft.Common.CurrentVersion.targets文件

实际上,要查看具体的错误,您应该通过[=将您的构建输出日志设置为Diagnostic/Detailed 11=]-->Options-->Projects and Solutions-->Build and Run-->设置MSBuild project build output verbosityDiagnostic/Detailed。然后再build的时候可以看到详细的信息。

您可以尝试遵循这些建议:

  1. 请检查您的 nuget 包是否有任何警告。如果是这样,请重新安装它们或仅使用 Package Manage Console.

    下的 update-Package -reinstall
  2. 如果您有任何post(预)构建事件(右键单击您的项目-->Properties -->Build Event),请检查命令是否有错误。

  3. 如果您有 licenses.licx 个文件,您应该将它们从您的项目中排除。

  4. 您可以尝试新建一个WPF项目,然后添加与之前项目相同的项目,测试是否是您项目的问题。

  5. do a repair in VS Installer如果你的VS环境有问题或者更新你的VS到最新版本。

此外,如果可能,请与我们共享您的 WPF 项目的 xxxxx.csproj 文件,以便快速解决您的问题。另外,关于这个错误还有a similar issue