msbuild错误路径不是合法形式 [英] msbuild error path is not of a legal form

查看:100
本文介绍了msbuild错误路径不是合法形式的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使用visual studio构建libpng。使用vc90sp1(Vs 2008)构建时,它没有任何问题。我使用visual studio将项目文件升级到vc140,现在当我使用msbuild构建时,它给了我'路径不是合法形式'
错误:


09: 17:00.233 MSBuild    INFO         C:\Program Files(x86)\ MSBuild\Microsoft.Cpp \v4.0 \V140 \ Microsoft.CppCommon.targets(253,5):错误MSB4018:"CL"任务意外失败。 [C:\libpng\build\obj\win64_vc140\libpng\build\projects\visualc140\libpng\libpng.vcxproj]

09:17:00.234 MSBuild  ;   INFO         C:\Program Files(x86)\ MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets(253,5):错误MSB4018:System.TypeInitializationException:$的类型初始值设定项b $ b'Microsoft.Build.Utilities.FileTracker'引发了异常。 ---> System.ArgumentException:路径不是合法形式。 [C:\libpng\build\obj\win64_vc140\libpng\build\projects\visualc140\libpng\libpng.vcxproj]

09:17:00.234 MSBuild  ;   INFO         C:\Program Files(x86)\ MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets(253,5):错误MSB4018:    at System.IO.Path.NormalizePath(String path,
Boolean fullCheck,Int32 maxPathLength,Boolean expandShortPaths)[C:\libpng\build\obj\win64_vc140\libpng\build\projects \\ \\ visualc140 \libpng \libpng.vcxproj]

09:17:00.234 MSBuild    INFO         C:\Program Files(x86)\ MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets(253,5):错误MSB4018:   在System.IO.Path.GetPathRoot(字符串路径)
[C:\libpng \ build \ obj \ win64_vc140 \libpng \ build \projects \visualc140 \libpng \libpng。 vcxproj]

09:17:00.234 MSBuild    INFO         C:\Program Files(x86)\ MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets(253,5):错误MSB4018:   在Microsoft.Build.Utilities.FileTracker..cctor()
[C:\libpng\build\obj\win64_vc140 \libpng \ build \ project] \\ visualc140 \libpng \libpng .vcxproj]
$
09:17:00.234 MSBuild    INFO         C:\Program Files(x86)\ MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets(253,5):错误MSB4018:    ---内部异常堆栈跟踪结束---
[C:\libpng \ build \ obj \ win64_vc140 \libpng \ build \ project \ visualc140 \libpng \libpng。 vcxproj]

09:17:00.234 MSBuild    INFO         C:\Program Files(x86)\ MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets(253,5):错误MSB4018:   在Microsoft.Build.CPPTasks.CL.ComputeOutOfDateSources()
[C:\libpng\build\obj\win64_vc140\libpng\build\projects\visualc140\libpng\libpng。 vcxproj]

09:17:00.234 MSBuild    INFO         C:\Program Files(x86)\ MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets(253,5):错误MSB4018:   在Microsoft.Build.Utilities.ToolTask​​.Execute()
[C:\libpng\build\obj\win64_vc140 \libpng \ build \ project] \\ visualc140 \libpng \libpng。 vcxproj]

09:17:00.234 MSBuild    INFO         C:\Program Files(x86)\ MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets(253,5):错误MSB4018:   在Microsoft.Build.CPPTasks.TrackedVCToolTask​​.Execute()
[C:\libpng\build\obj\win64_vc140 \libpng \ build \ project \ visualc140 \libpng \libpng。 vcxproj]

09:17:00.234 MSBuild    INFO         C:\Program Files(x86)\ MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets(253,5):错误MSB4018:   在Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
[C:\libpng\build\obj\win64_vc140\libpng\build\projects \ visualc140 \libpng \libpng.vcxproj]

09:17:00.234 MSBuild    INFO&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP; C:\Program Files(x86)\ MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets(253,5):错误MSB4018:   在Microsoft.Build.BackEnd.TaskBuilder。< ExecuteInstantiatedTask> d__26.MoveNext()
[C:\libpng\build\obj\win64_vc140\libpng\build\projects\visualc140 \\ \\ libpng \libpng.vcxproj]

09:17:00.234 MSBuild    INFO&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;完成建筑项目"C:\libpng\build \obj \ win64_vc140 \libpng \ build \ projects \ visualc140 \libpng \libpng.vcxproj" (默认目标) - FAILED。

09:17:00.235 MSBuild    INFO&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;完成建筑项目"C:\libpng\build\obj\win64_vc140 \libpng \ build \ project"#visualc140 \libpng \libpng.vcxproj.metaproj" (默认目标) - FAILED。

09:17:00.268 MSBuild    INFO&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;完成建筑项目"C:\libpng\build \obj \ win64_vc140 \libpng \ build \ project \ viewualc140 \vstudio.sln" (默认目标) - FAILED。



我不知道如何调试这个并且不知道当它说'路径是不是法律形式'。在线帮助也非常有限。如果您能帮我找到解决方案,我将不胜感激。我需要这个,因为这是阻止我当前工作的
。提前致谢

解决方案

Hitoast12,


感谢您在这里发帖。


根据错误日志,您似乎正在使用.NET框架中的旧MSBuild来构建项目。


从Visual Studio 2013开始,2013版MSBuild将作为Visual Studio的一部分而非.NET Framework发布。


https://blogs.msdn.microsoft.com/visualstudio/2013/07/24/msbuild-is-now-part-of-visual-studio/


因此,当您使用msbuild将项目文件升级到vc140时,您应该使用以下MSBuild:


C:\Program Files( x86)\ MSBuild\14.0 \ Bin


希望这会有所帮助。


Hi, I am trying to build libpng using visual studio. When building with vc90sp1 (Vs 2008), it works with no issues. I upgraded the project files to vc140 using visual studio and now when I build using msbuild, it gives me the 'path is not of a legal form' error:

09:17:00.233 MSBuild    INFO         C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets(253,5): error MSB4018: The "CL" task failed unexpectedly. [C:\libpng\build\obj\win64_vc140\libpng\build\projects\visualc140\libpng\libpng.vcxproj]
09:17:00.234 MSBuild    INFO         C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets(253,5): error MSB4018: System.TypeInitializationException: The type initializer for 'Microsoft.Build.Utilities.FileTracker' threw an exception. ---> System.ArgumentException: The path is not of a legal form. [C:\libpng\build\obj\win64_vc140\libpng\build\projects\visualc140\libpng\libpng.vcxproj]
09:17:00.234 MSBuild    INFO         C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets(253,5): error MSB4018:    at System.IO.Path.NormalizePath(String path, Boolean fullCheck, Int32 maxPathLength, Boolean expandShortPaths) [C:\libpng\build\obj\win64_vc140\libpng\build\projects\visualc140\libpng\libpng.vcxproj]
09:17:00.234 MSBuild    INFO         C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets(253,5): error MSB4018:    at System.IO.Path.GetPathRoot(String path) [C:\libpng\build\obj\win64_vc140\libpng\build\projects\visualc140\libpng\libpng.vcxproj]
09:17:00.234 MSBuild    INFO         C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets(253,5): error MSB4018:    at Microsoft.Build.Utilities.FileTracker..cctor() [C:\libpng\build\obj\win64_vc140\libpng\build\projects\visualc140\libpng\libpng.vcxproj]
09:17:00.234 MSBuild    INFO         C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets(253,5): error MSB4018:    --- End of inner exception stack trace --- [C:\libpng\build\obj\win64_vc140\libpng\build\projects\visualc140\libpng\libpng.vcxproj]
09:17:00.234 MSBuild    INFO         C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets(253,5): error MSB4018:    at Microsoft.Build.CPPTasks.CL.ComputeOutOfDateSources() [C:\libpng\build\obj\win64_vc140\libpng\build\projects\visualc140\libpng\libpng.vcxproj]
09:17:00.234 MSBuild    INFO         C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets(253,5): error MSB4018:    at Microsoft.Build.Utilities.ToolTask.Execute() [C:\libpng\build\obj\win64_vc140\libpng\build\projects\visualc140\libpng\libpng.vcxproj]
09:17:00.234 MSBuild    INFO         C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets(253,5): error MSB4018:    at Microsoft.Build.CPPTasks.TrackedVCToolTask.Execute() [C:\libpng\build\obj\win64_vc140\libpng\build\projects\visualc140\libpng\libpng.vcxproj]
09:17:00.234 MSBuild    INFO         C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets(253,5): error MSB4018:    at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute() [C:\libpng\build\obj\win64_vc140\libpng\build\projects\visualc140\libpng\libpng.vcxproj]
09:17:00.234 MSBuild    INFO         C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets(253,5): error MSB4018:    at Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__26.MoveNext() [C:\libpng\build\obj\win64_vc140\libpng\build\projects\visualc140\libpng\libpng.vcxproj]
09:17:00.234 MSBuild    INFO         Done Building Project "C:\libpng\build\obj\win64_vc140\libpng\build\projects\visualc140\libpng\libpng.vcxproj" (default targets) -- FAILED.
09:17:00.235 MSBuild    INFO         Done Building Project "C:\libpng\build\obj\win64_vc140\libpng\build\projects\visualc140\libpng\libpng.vcxproj.metaproj" (default targets) -- FAILED.
09:17:00.268 MSBuild    INFO         Done Building Project "C:\libpng\build\obj\win64_vc140\libpng\build\projects\visualc140\vstudio.sln" (default targets) -- FAILED.

I have no clue how to debug this and don;t even know which path it is talking about when it says 'path is not of a legal form'. There is very limited help online as well. Would appreciate if you can help me find the solution. I need this asap since this is blocking my current work. Thanks in advance

解决方案

Hitoast12,

Thanks for posting here.

According to the error log, it seems you are using the old MSBuild which from the .NET framework to build your project.

Starting with Visual Studio 2013, the 2013 version of MSBuild will ship as a part of Visual Studio instead of the .NET Framework.

https://blogs.msdn.microsoft.com/visualstudio/2013/07/24/msbuild-is-now-part-of-visual-studio/

So, when you upgraded the project files to vc140 using msbuild, you should use the MSBuild from:

C:\Program Files (x86)\MSBuild\14.0\Bin

Hope this helps.


这篇关于msbuild错误路径不是合法形式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆