之前编译的时候,最终还是有报错,但是也能生成一些文件,但是肯定这关,没彻底通过。于是又重新来过一次,希望能够详细记录下来
一、搭建环境 WIN10+VS2017+MissionPlanner 1.3.70......
下载VS2017并安装。社区版是免费的
下载地址:https://visualstudio.microsoft.com/zh-hans/downloads/ 此地址一般是最新版本的
2017版地址:https://docs.microsoft.com/zh-cn/visualstudio/releasenotes/vs2017-relnotes
安装VS时,全面一些。之前有介绍过,不详细说了。
二、下载missionplanner 代码 网址:https://github.com/ArduPilot/MissionPlanner、
三、运行VS2017,并打开项目,MissionPlanner.sln
打开后,页面显示
四、问题开始出现,开始解决疑难杂症
1、打开项目的过程中,出现下面提示,我点击了确定后,项目会继续进行。
文件导入最后的效果,错误+警告
1、问题:NETSDK1045
|
代码 |
说明 |
项目 |
|
NETSDK1045 |
当前 .NET SDK 不支持将 .NET Core 2.2 设置为目标。请将 .NET Core 2.1 或更低版本设置为目标,或使用支持 .NET Core 2.2 的 .NET SDK 版本。 |
Mock |
解决方法:安装SDK2.2.101版本
地址:https://dotnet.microsoft.com/download/dotnet-core/2.2
(不需要自己选路径,直接安装)
再次启动后,错误没有了,警告也少了一些
补充:后来又下了另一个.依然可用
2、问题IDE1003
|
代码 |
说明 |
项目 |
|
IDE1003 |
分析器程序集“C:\Users\XXX\.nuget\packages\microsoft.aspnetcore.components.analyzers\3.0.0-rc1.19457.4\analyzers\dotnet\cs\Microsoft.AspNetCore.Components.Analyzers.dll”依赖于“netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51”,但是却找不到它。除非将缺少的程序集也添加为分析器引用,否则分析器可能不会正确运行。 |
wasm |
解决方法:添加引用路径试试,能添加引用的就都添加,通常前面符号 C#的都可以添加。引用路径,就是你本地安装的Missionplanner的路径,不是源码,而是运行文件。
生成解决方案后,依然各种问题。有的人建议,关闭所有,然后重新打开后再次编译,就可以通过。但是这次对我,没奏效。想偷懒,是不可能了,老老实实一个一个问题解决吧。
3、错误提示,CS2046
双击错误提示,进入代码里,有修改的提示, 按照提示顺序修改(Graphi...和IWindowinfo),我选择的是 添加到引用程序(记得是最后一个选项)。之后,OpenTK的错误也不提示了。
结果:
4、问题
|
代码 |
说明 |
项目 |
|
CS0006 |
未能找到元数据文件“E:\………………\MissionPlanner-master\ExtLibs\Xamarin\Xamarin\bin\Debug\netstandard2.0\Xamarin.dll” |
Xamarin.UWP |
解决方法:添加引用路径
5、问题
|
代码 |
说明 |
项目 |
|
NETSDK1045 |
当前 .NET SDK 不支持将 .NET Core 3.1 设置为目标。请将 .NET Core 2.2 或更低版本设置为目标,或使用支持 .NET Core 3.1 的 .NET SDK 版本。 |
Ntrip |
解决方法,找到相应的文件,右键,属性,修改目标框架
6、问题:
|
代码 |
说明 |
项目 |
|
NETSDK1045 |
当前 .NET SDK 不支持将 .NET Standard 2.1 设置为目标。请将 .NET Standard 2.0 或更低版本设置为目标,或使用支持 .NET Standard 2.1 的 .NET SDK 版本。 |
wasm |
解决方法:同上
7、问题:
|
代码 |
说明 |
项目 |
|
NETSDK1045 |
当前 .NET SDK 不支持将 .NET Core 3.1 设置为目标。请将 .NET Core 2.2 或更低版本设置为目标,或使用支持 .NET Core 3.1 的 .NET SDK 版本。 |
px4uploader |
修改框架的方式,不管用,灰色,不能点,没选项!!
最后找到相应文件,进入代码,删除3.1那个框架,解决了
8、问题: 指定的路径或文件名太长,或者两者都太长
|
严重性 |
代码 |
说明 |
|
错误 |
|
“Javac”任务意外失败。System.IO.PathTooLongException: 指定的路径或文件名太长,或者两者都太长。完全限定文件名必须少于 260 个字符,并且目录名必须少于 248 个字符。 在 System.IO.LongPathHelper.Normalize(String path, UInt32 maxPathLength, Boolean checkInvalidCharacters, Boolean expandShortPaths) 在 System.IO.Path.NewNormalizePath(String path, Int32 maxPathLength, Boolean expandShortPaths) 在 System.IO.Path.NormalizePath(String path, Boolean fullCheck, Int32 maxPathLength, Boolean expandShortPaths) 在 System.IO.Path.GetFullPathInternal(String path) 在 System.IO.FileInfo.Init(String fileName, Boolean checkHost) 在 System.IO.FileInfo..ctor(String fileName) 在 Xamarin.Android.Tasks.ZipArchiveEx.AddFiles(String folder, String folderInArchive, CompressionMethod method) 在 Xamarin.Android.Tasks.ZipArchiveEx.AddDirectory(String folder, String folderInArchive, CompressionMethod method) 在 Xamarin.Android.Tasks.Javac.Execute() 在 Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute() 在 Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__26.MoveNext() |
解决方案:文件名缩短,不出现中文。最后解决
9、问题
方法1 升级,没管用
2.降级到4.2,成功了
生成后错误没有了,尽管还有好多警告
由于不敢相信没有错误了,于是又尝试了好几次生成生成。都不提示错误了,警告倒是每次都不同
2020年4月