5

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

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

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

我已经尝试了 lc.exe.config<startup useLegacyV2RuntimeActivationPolicy="true"> 我还尝试将解决方案移动到“C:\”,它位于 Projects 文件夹中。

我仍然无法解决此错误。

4

5 回答 5

2

有 MS Support 解决方法:

构建项目时,每次遇到此错误时,请从项目中删除许可证文件,只需删除许可证文件即可

https://connect.microsoft.com/VisualStudio/feedback/details/779433/lc-exe-task-command-line-too-long

于 2013-07-23T11:37:06.653 回答
2

通过创建指向您使用的特定 .NET 版本(在本例中为 4.5.2)的快捷方式,您将能够节省大量路径长度。以下是步骤;

  1. 以管理员身份运行命令行
  2. 在命令行中转到 C:\
  3. mklink /J net452 "C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.2"
  4. 转到 Visual Studio
  5. 打开项目属性
  6. 查看参考选项卡
  7. 单击“参考路径”按钮并添加路径“C:\net452”
  8. 重建项目
于 2018-03-12T10:24:50.700 回答
1

删除 licenses.licx 文件不是解决方案。如果您使用需要许可证的第三方控件,它将在运行时给您错误。

LC.exe 将参数作为具有完整路径的许可证文件,如果参数太长,则会引发错误。

所以保持文件名和路径较短的长度,它将编译和工作。

于 2016-04-12T08:57:50.730 回答
0

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

于 2015-11-26T23:02:29.163 回答
0

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

于 2017-07-19T01:17:14.993 回答