1

目前,我在 Visual Studio 2008 中使用 C# 的 GMap.NET(1.7 版本)。它工作正常,但是,我无法再运行我的 winform 应用程序了。

触发InitializeComponent()我的表单时出现此错误。的类型初始值GMap.NET.WindowsForms.GMapControl设定项引发异常。

如果我恢复到 1.6 版本,它工作正常。

有没有人知道这种问题?

4

2 回答 2

1

从此处为您的 .NET 版本下载预编译的二进制文件。提取包并复制 System.Data.SQLite.dll 靠近您的 exe(\bin\Debug 或 Release)。

您可以使用“复制到输出目录:始终复制”将其添加到您的项目中。不要引用 DLL 文件!

于 2014-12-27T11:47:45.747 回答
1

我最近也遇到了同样的问题。但我的项目必须是 x64 解决方案。以下对我有用,也许它也会帮助你。

如果您下载 GMap.Net-Sources,您可以构建库的“AnyCode”版本。您通常(如果您只使用 WindowsForms-Component)不需要重新编译所有内容,对我来说重新编译 GMap.Net.Core 和 GMap.Net.WindowsForms 就足够了。

然后你可以在你的项目中引用新编译的dll。Winforms-Designer 将使用 x86 变体,当您决定只为 x64 构建时,您的程序将使用 x64 版本。

您必须手动将 SQLite.Interop-dll 复制到 %SOLUTION%/bin/Release|Debug/x64 和 x86 - x64 和 x86 是 Release/Debug 文件夹的子文件夹。

如果您的解决方案中有安装项目,则必须手动将这些 dll 放入“应用程序文件夹”内的相同文件夹中。System.Data.SQLite 和手动添加的 GMap-Dlls 的依赖项将由 Setup-Project 自动设置(也许您必须刷新依赖项),因为它们是 GMap-Components 的依赖项。

于 2017-05-10T07:50:30.323 回答