无法运行指定的任务可执行文件“LC.exe”

时间:2013-02-06 06:14:56

标签: visual-studio-2012 sharepoint-2013 licenses.licx

我正在使用VS 2012开发SharePoint 2013解决方案,该解决方案有一个licx文件。我收到编译时错误和警告。

错误:无法运行指定的任务可执行文件“LC.exe”。文件名或扩展名太长

警告:“LC”任务的命令行太长。超过32000个字符的命令行可能会失败。尝试通过将“LC”调用分解为多次调用来减少命令行的长度,每个调用的参数更少。

我试过lc.exe.config有<startup useLegacyV2RuntimeActivationPolicy="true"> 我也尝试将解决方案移动到“C:\”,早于Projects文件夹。

我仍然无法解决此错误。

5 个答案:

答案 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),您将能够在路径长度上节省很多。以下是步骤;

  1. 以管理员身份运行命令行
  2. 转到命令行中的C:\
  3. mklink / J net452“C:\ Program Files(x86)\ Reference Assemblies \ Microsoft \ Framework \ .NETFramework \ v4.5.2”
  4. 转到VisualStudio
  5. 打开项目属性
  6. 查看参考选项卡
  7. 点击“参考路径”按钮,添加路径“C:\ net452”
  8. 重建项目

答案 3 :(得分:0)

删除许可证文件对我没有帮助。我最终删除了解决方案资源管理器中的“licenses.licx” - &gt;属性组 很有帮助

答案 4 :(得分:0)

此问题已在VS2017中根据此GitHub签入修复:https://github.com/Microsoft/msbuild/commit/e49717c727c3cab4db466bcb0a5abb624a8156bb 我相信该版本的完整版本是VS2017 Update 2.