之前编译的时候,最终还是有报错,但是也能生成一些文件,但是肯定这关,没彻底通过。于是又重新来过一次,希望能够详细记录下来
一、搭建环境 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月
1万+

被折叠的 条评论
为什么被折叠?



