有没有人有办法克服MSBuild工具的260个字符限制,从命令行构建Visual Studio项目和解决方案?我正在尝试使用CruiseControl自动构建构建(CruiseControl.NET不是一个选项,所以我试图将它绑定到正常的ant脚本中)并且我继续遇到路径长度的问题.为了澄清,问题在于解决方案文件中引用的项目的路径长度,因为该工具不会正确地折叠路径:(
我也尝试过使用DevEnv,它有时会工作,有时会引发异常,这对于在单独的机器上进行自动构建是不利的.所以请不要建议使用它作为替代品.
最重要的是,通过普通的IDE使用Visual Studio时,项目构建得很好.
该SUBST命令剧照似乎存在这样重新映射你的build文件夹的根目录下一个驱动器号可能会节省一些字符,如果犹大Himango的解决方案是没有好处的.
似乎它是MSBuild的限制.我们遇到了同样的问题,最后,我们不得不缩短路径,因为没有找到任何其他正常工作的解决方案.
我通过调整CSPROJ文件解决了类似的问题:
$([System.IO.Path]::GetFullPath('$(MSBuildProjectDirectory)\..\..\..\Intermediate\$(AssemblyName)_$(ProjectGuid)\'))
结果,在编译过程中CSC.EXE收到完整路径,而不是相对路径。
感谢harrydev提供有关CSC.EXE如何使用路径进行操作的线索。