我正在使用VS 2012开发SharePoint 2013解决方案,该解决方案有一个licx文件。我收到编译时错误和警告。
错误:无法运行指定的任务可执行文件“LC.exe”。文件名或扩展名太长
警告:“LC”任务的命令行太长。超过32000个字符的命令行可能会失败。尝试通过将“LC”调用分解为多次调用来减少命令行的长度,每个调用的参数更少。
我试过lc.exe.config有<startup useLegacyV2RuntimeActivationPolicy="true">
我也尝试将解决方案移动到“C:\”,早于Projects文件夹。
我仍然无法解决此错误。
答案 0 :(得分:2)
有MS支持解决方法:
构建项目时,从项目中删除许可证文件 每次出现此错误时,只需删除许可文件
即可
https://connect.microsoft.com/VisualStudio/feedback/details/779433/lc-exe-task-command-line-too-long
答案 1 :(得分:1)
删除licenses.licx文件不是解决方案。如果您使用需要许可证的第三方控件,它将在运行时给您错误。
LC.exe将参数作为带有完整路径的许可证文件,如果参数太长,则会抛出错误。
所以保持文件名和路径的长度更短,它将编译并工作。
答案 2 :(得分:1)
通过创建您使用的特定.NET版本的快捷方式(在本例中为4.5.2),您将能够在路径长度上节省很多。以下是步骤;
答案 3 :(得分:0)
删除许可证文件对我没有帮助。我最终删除了解决方案资源管理器中的“licenses.licx” - &gt;属性组 很有帮助
答案 4 :(得分:0)
此问题已在VS2017中根据此GitHub签入修复:https://github.com/Microsoft/msbuild/commit/e49717c727c3cab4db466bcb0a5abb624a8156bb 我相信该版本的完整版本是VS2017 Update 2.