WorldWind学习系列:1、准备调试环境

NASA World Wind 由 NASA开发,类似 Google Earth 的地球模拟工具,它是开源软件,有C#,Java、Android和Web等多个版本,项目源码地址为:NASA WorldWind · GitHubhttps://github.com/NASAWorldWind

源代码下载:

目前C#版本已于2007年2月停止开发,最后版本为1.4.0  文件名为  World_Wind_1.4.0_Source.zip   下载地址:

NASA World Wind Download - World Wind Wiki (worldwindcentral.com)https://worldwindcentral.com/wiki/NASA_World_Wind_DownloadC#项目地址为

NASA WorldWind download | SourceForge.nethttps://sourceforge.net/projects/nasa-exp/下载文件名: World_Wind_1.4.0_Source.zip  

环境准备:

编译环境 VS2022 17.4.1 , 操作系统 Windows 11,首先安装 Microsoft DirectX SDK (June 2010)   这是DirectX SDK作为独立安装包的最后一个版本,后续的版本都集成到了Windows SDK里。下载地址:

Download DirectX Software Development Kit from Official Microsoft Download Centerhttps://www.microsoft.com/en-us/download/details.aspx?id=6812

Version:  9.29.1962.1   File Name: DXSDK_Jun10.exe

Date Published: 2/20/2021   File Size:  571.7 MB

项目准备:

解压源代码到D盘根目录,目录结构如下:

d952da3892fb45ac98bb0575c05ddd33.png

原来的项目是Visual Studio 2005(8.0.50727.42)创建的,有条件可以在Win7下用VS2005打开调试,本次使用VS2022打开WorldWind.sln ,提示需要进行升级,项目总共包含16个项目。

3da52f24a21748a1872d77540e26291a.png

 升级完成后,提示有四个错误,似乎是因为源代码中缺少一个png文件,影响不大,忽略即可。

ConfigurationWizard\Resources\Shadingimage.png: 未能将文件备份为 D:\World_Wind_1.4.0_Source\Backup\ConfigurationWizard\Resources\Shadingimage.png
ConfigurationWizard\Resources\shading.png: 未能将文件备份为 D:\World_Wind_1.4.0_Source\Backup\ConfigurationWizard\Resources\shading.png
ConfigurationWizard\Resources\sunset.png: 未能将文件备份为 D:\World_Wind_1.4.0_Source\Backup\ConfigurationWizard\Resources\sunset.png
ConfigurationWizard\Resources\sunfromspace.png: 未能将文件备份为 D:\World_Wind_1.4.0_Source\Backup\ConfigurationWizard\Resources\sunfromspace.png
WorldWind\Resources\gradient.png: 未能将文件备份为
D:\World_Wind_1.4.0_Source\Backup\WorldWind\Resources\gradient.png

解决方案的模式配置:

0b441af9b6fd44c0b0072ed504976614.png

调试前将发布类型由Release改为Debug版本,平台改为X86,将启动项目由PluginSDK修改为WorldWind。

0b07ea25152445d2aace85e72b2526dd.png

由于 vs2022不再支持.Net 2.0 以及 .net framework4.0 、 .net framework4.5、.net framework4.5.1、.net framework4.5.2目标包。项目升级到VS2022后,目标框架默认为.Net Framework 4.0 开发包,需要手工安装4.0开发框架。


安装.Net 2.0 和 .Net Framework 3.5

打开控制面板——程序——启用或关闭windows功能,启用 .Net Framework 3.5(包括 .Net 2.0 和3.0),确定即可。

e22e5ab7ef944b70bd0835d9d7c895e0.png

安装.Net 4.0~4.5,使用VS2019的安装程序下载,也可从以下地址下载:(2条消息) 用于VS2022的dotnetframework4.0~4.5-C#文档类资源-CSDN文库https://download.csdn.net/download/eamon100/87176309?spm=1001.2014.3001.5501放到  C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework 目录下解压即可。

4704619cd9df48a5bd94cd46a9ef2eb2.png


此外在.NET 4.0 下使用 Dirext3D 托管库,调试、运行时无反应。查看程序集Microsoft.DirectX.dll、Microsoft.DirectX.Direct3D.dll、Microsoft.DirectX.Direct3DX,发现其.NET 运行时版本时v1.1.4322,也就是说D3D托管库是在 .NET v1.1 版本下编译生成的。 在.NET4.0之前的.NET2.0、dotNet 3.5 均兼容.NET1.0和1.1,但在升级到.NET4.0后,.NET的内核作了重大调整,以前在.Net2.0或.net3.5中生成的程序集,如果要在.net4.0下运行,需要在配置文件中指定此应用程序支持的公共语言运行时版本和启用 .NET Framework 2.0 运行时激活策略,这时 修改App.config的内容即可,代码如下:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">	
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup>
</configuration>

为方便起见,将所有项目的运行库恢复为原来的dotNet 2.0版本

编译错误处理:

1、提示PluginSDK的Angle.cs 和 ConfigurationLoader.cs 字符无效。

629087da15ef4e6ea5128f8a01db8244.png

Angle.cs、ConfigurationLoader.cs文档编码为西欧 Windows-1252编码,其中0xB0字符,VS编辑器将其解析为简体中文(GB2312)时报错,该字符是° ,UTF-8编码是0xC2B0

11034a5056ea45718cdb98f0550d1a9d.png

 PlaceFinder.cs 有0xB7的字符,该字符是· 。

26ecec943fb64243a96d64f59b569be9.png

 解决方法:用右键单击文件,用“带编码功能的C#编辑器”,使用西欧 Windows-1252编码方式打开,将其另存为UTF-8编码即可。项目中的cs文件均为西欧 Windows-1252编码,可以使用转换工具,将其转换为UTF-8编码文件。

 2、提示 PluginSDK、JhuaplWorldWind 和WorldWind 必须添加对程序集“Microsoft.VisualC, Version=7.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”的引用。    

解决方法:对PluginSDK、JhuaplWorldWind和WorldWind项目分别添加VisualC的引用。

0cc8dc763e7c45df8df3fb037b3e7596.png

 3、提示WorldWind项目文件Compass3D.cs 、GPSTracker.cs、MeasureTool.cs、GPSTrackerPlugin.WorldWind.cs、GPSTrackerPlugin.GeoFence.MsgBox.cs、WorldWind.cs 存在相同的字符编码问题。

解决方法:与1做同样的修改。

4、WorldWind项目动态库引用无效问题。

解决方法:将D:\World_Wind_1.4.0_Source\bin\Debug 目录下所有文件拷贝到 D:\World_Wind_1.4.0_Source\WorldWind\bin\x86\Debug 目录下。

5、生成解决方案成功,调试时报错。

41308e86a7154e8aa1f7a2240d3496ea.png

解决方法:去掉引发此异常时中断的选项。


 调试运行成功。

修改完的项目下载:

(4条消息) World-Wind-1.4.0-SourceforVS2022dotNet20-C#文档类资源-CSDN文库https://download.csdn.net/download/eamon100/87202853

下一篇介绍系统的主要流程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值