错误 MSB6006:“lc.exe”以代码 -1 退出
Posted
技术标签:
【中文标题】错误 MSB6006:“lc.exe”以代码 -1 退出【英文标题】:error MSB6006: "lc.exe" exited with code -1 【发布时间】:2020-06-19 00:56:56 【问题描述】:我无法再构建我的应用程序了, 每次我尝试编译都会出现以下错误。
我从未更改过 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
文件以解决您的问题。
【参考方案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
。然后当你再次构建时,你可以看到它的详细信息。
您可以尝试遵循以下提示:
请检查您的 nuget 包上是否有任何警告。如果是这样,请重新安装它们或只使用 Package Manage Console 下的update-Package -reinstall
。
如果你有任何post(pre)-build event(右键你的项目-->Properties
-->Build Event
),请检查命令是否有错误.
如果您有 licenses.licx 文件,则应将它们从您的项目中排除。
您可以尝试新建一个 WPF 项目,然后添加与之前的项目相同的项目来测试是否是您的项目的问题。
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 退出。但我不确定为什么以及为什么这些组件不再需要许可证密钥。以上是关于错误 MSB6006:“lc.exe”以代码 -1 退出的主要内容,如果未能解决你的问题,请参考以下文章
错误 MSB6006:“midl.exe”退出,代码为 2026
当代码在 Visual Studio C++ 中正常工作时出现 MSB6006 错误
error MSB6006: “cmd.exe”已退出,代码为 3。
vs2017编译项目报错:Microsoft.Cpp.Clang.targets(212,5): error MSB6006 处理方法
vs2017编译项目报错:Microsoft.Cpp.Clang.targets(212,5): error MSB6006 处理方法