0

我正在创建一个使用DotSpatial 1.7的用户控件。另外,我创建了一个 Windows 窗体应用程序来测试我的控件。当我引用“DotSpatial”dll 文件时,“Copy Local”设置为 true,并且控件运行良好。但是,当我将“复制本地”设置为 false 时,出现以下错误:

附加信息:无法加载文件或程序集“DotSpatial.Controls,Version=1.7.0.0,Culture=neutral,PublicKeyToken=4d9e49339a7d240c”或其依赖项之一。该系统找不到指定的文件。

如何解决这个问题以复制我的控制 dll 中的所有 dll 而不要复制到 app 文件夹中?

4

1 回答 1

1

我相信默认情况下,DotSpatial 组件不会通过安装程序部署或以自动向 GAC(全局程序集缓存)注册库的方式分发。为了将 copy local 设置为 false,应用程序需要能够在 GAC 中找到库。如果库还没有,您将需要确保它们具有强名称。如果您从源代码构建 DotSpatial dll 文件,则需要按照此Microsoft 文档中的说明创建 InstallShield Limited Edition 项目,或者运行全局程序集缓存工具 (Gacutil.exe)。建议将该工具仅用于开发目的。

于 2018-08-27T20:53:22.637 回答