DotSpatial地图不在DotSpatial.Controls内

时间:2018-02-01 14:56:16

标签: c# dotspatial

我尝试使用c#WinForm安装DotSpatial,以查看Map控件。我使用VS的nuget安装了DotSpatial.Controls。安装成功。在我的toolBar中添加了DotSpatial.Control.dll,它位于../bin/debug文件夹中,但是,只添加了3个控件:AppManager,SpatialDockManager,SpatialHeaderControl。

为什么不存在地图控制?

提前致谢。

3 个答案:

答案 0 :(得分:0)

您最有可能遇到的问题是,控件库有许多依赖关系,这些依赖关系是正确使用Map控件所必需的。如果你只是下载一个dll,它就不够了,以便获得你需要的所有依赖项。以下是我使用版本1.9.0添加地图控件所采取的步骤:

  1. 使用GitHub GitHub Desktop克隆DotSpatial \ DotSpatial项目。
  2. 在visual studio中打开Dotspatial \ DotSpatial \ Source \ DotSpatial.sln。
  3. 右键点击解决方案' DotSpatial'在解决方案资源管理器 - >构建解决方案
  4. 关闭解决方案并切换到您自己的项目或解决方案。
  5. 在解决方案资源管理器中右键单击引用 - >添加参考
  6. 浏览到Dotspatial \ DotSpatial \ Source \ bin \ Debug文件夹。
  7. 选择所需的模块,然后将其添加为参考。 References
  8. 右键单击工具箱窗口 - >添加Tab,将其命名为DotSpatial。
  9. 右键单击DotSpatial标签 - >选择项目......
  10. 点击浏览按钮 Click Browse
  11. 例如,导航到Dotspatial \ DotSpatial \ Source \ bin \ Debug文件夹。
  12. 选择DotSpatial.Controls.dll
  13. 按命名空间排序控件(确保选中所有DotSpatial控件) enter image description here
  14. 单击“确定”添加它们。
  15. 现在,您应该可以将地图拖放到项目中。
  16. 作为补充说明,当尝试添加控件并拖放地图而不先设置我的项目引用时,我最终得到一个IO错误,说它无法找到DotSpatial.Projections.dll的文件。

    无论如何,我并非100%确定这是你遇到的问题,但希望它有所帮助。

答案 1 :(得分:0)

早上好, 我在这里有同样的问题。 我已经有了通过NuGet以“ DotSpatial”开头的任何软件包。 我已经将所有DotSpatial软件包更新为最新版本(由于某些原因,当我第一次安装软件包时,我已经拥有所有1.0版本...)。 我已经完成了Ted在第9步至第14步中描述的操作,不仅使用DotSpatial.Controls.dll,而且使用任何DotSpatial程序集,都一一完成。

地图控件尚不存在。

任何提示将不胜感激。

谢谢。

答案 2 :(得分:0)

Ted似乎是正确的,因为问题出在“地图控件”的依赖项上。问题是当通过NuGet安装软件包时,各种dll都安装在不同的目录中,而Map Control找不到它们。

解决方案是在将DotSpatial.Controls dll添加到工具箱之前,将所有dll复制到一个公共目录(Ted回答中的步骤8-15)。

或者您可以使用Ted的解决方案并下载源代码并编译源代码。