Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 2012 指定的任务可执行文件";LC.exe“;无法运行_Visual Studio 2012_Sharepoint 2013_Licenses.licx - Fatal编程技术网

Visual studio 2012 指定的任务可执行文件";LC.exe“;无法运行

Visual studio 2012 指定的任务可执行文件";LC.exe“;无法运行,visual-studio-2012,sharepoint-2013,licenses.licx,Visual Studio 2012,Sharepoint 2013,Licenses.licx,我正在使用VS 2012开发SharePoint 2013解决方案,该解决方案有一个licx文件。我得到一个编译时错误和一个警告 错误:无法运行指定的任务可执行文件“LC.exe”。文件名或扩展名太长 警告:“LC”任务的命令行太长。超过32000个字符的命令行可能会失败。尝试减少命令行的长度,方法是将对“LC”的调用分解为多个调用,每个调用的参数更少 我已经尝试了lc.exe.config的 我还尝试将解决方案移动到“C:\”,它位于项目文件夹的前面 我仍然无法解决此错误。有MS支持解决方案:

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

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

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

我已经尝试了lc.exe.config的
我还尝试将解决方案移动到“C:\”,它位于项目文件夹的前面


我仍然无法解决此错误。

有MS支持解决方案:

生成项目时,请从项目中删除许可证文件 每次出现此错误时,只需删除许可证文件


删除许可证文件对我没有帮助。我最终删除了解决方案资源管理器->属性组下的“licenses.licx”
显然,帮助删除licenses.licx文件不是一个解决方案。如果您使用的是需要许可证的第三方控件,则在运行时会出现错误

LC.exe将参数作为具有完整路径的许可证文件,如果参数太长,将抛出错误


因此,请保持文件名和路径长度较短,它将编译并工作。

根据此GitHub签入,此问题在VS2017中已修复:
我相信该版本是完全发布的版本是VS2017 Update 2。

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

  • 以管理员身份运行命令行
  • 在命令行中转到C:\
  • mklink/J net452“C:\Program Files(x86)\Reference Assembly\Microsoft\Framework\.NETFramework\v4.5.2”
  • 转到VisualStudio
  • 开放项目属性
  • 查看参考资料选项卡
  • 单击“参考路径”按钮并添加路径“C:\net452”
  • 重建项目

  • 如果我从正确编译的项目中删除此引用,则这似乎与Microsoft.SharePoint.dll有关。但是我不能没有SharePoint API…可能的重复如果您要复制粘贴来自同一问题的另一个问题的答案,请思考“我是否应该在此重复问题上发布重复答案,或者我是否应该不回答,而是将此问题标记为重复”-然后选择后者。尽量保持干净,每一点都有帮助。如果必须运行许可证组件来许可第三方组件(例如发布版本),则这不是一个有效的解决方案。不幸的是,这只是一个解决方案,而不是长期解决方案。Microsoft需要解决lc.exe程序的可伸缩性问题。同样,只有在解决方案足够小的情况下,这才有效。对于具有lc.exe依赖组件的较大解决方案,您的基本路径将开始成为较小的因素。