【问题标题】:error MSB6006: "lc.exe" exited with code -1错误 MSB6006:“lc.exe”以代码 -1 退出
【发布时间】:2020-06-19 00:56:56
【问题描述】:

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

错误 MSB6006:“lc.exe”以代码 -1 退出

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


文件的完整路径:

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

似乎/出现错误的行:

<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 编写的。

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

【问题讨论】:

  • 您好,据我所知,Microsoft.Common.CurrentVersion.targets 是一个 msbuild 系统文件,如果出现错误,则表示您的项目有问题。您的项目是否有任何错误或下划线?如果您有任何带有警告的 nuget 包,您可以重新安装它们。 Besdes,您可以将构建日志设置为详细以查看具体警告。此外,请与我们分享xxxx.csproj 文件以解决您的问题。

标签: visual-studio build compiler-errors msbuild visual-studio-2019


【解决方案1】:

错误 MSB6006:“lc.exe”以代码 -1 退出

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

其实要查看具体错误,你应该把你的Build Output log设置为Diagnostic/Detailed by Tools-->Options--> Projects and Solutions-->Build and Run-->将MSBuild project build output verbosity设置为Diagnostic/Detailed。然后当你再次构建时,你可以看到它的详细信息。

您可以尝试遵循以下提示:

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

  2. 如果你有任何post(pre)-build event(右键你的项目-->Properties-->Build Event),请检查命令是否有错误.

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

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

  5. do a repair in VS Installer 以防您的 VS 环境出现问题或将您的 VS 更新到最新版本。

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

【讨论】:

  • 您的详细输出提示是黄金!我能够通过手动重新创建没有内容的 licenses.licx 文件来解决此问题。
  • 从 VS 2017 升级到 VS 2019 后,我必须清除 licenses.licx 中的所有行以避免错误 MSB6006:“lc.exe”以代码 -1 退出。但我不确定为什么以及为什么这些组件不再需要许可证密钥。
猜你喜欢
  • 2012-10-18
  • 1970-01-01
  • 2021-04-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-19
  • 1970-01-01
相关资源
最近更新 更多