我正在创建一个使用DotSpatial 1.7的用户控件。此外,我创建了一个windows窗体应用程序来测试我的控件。当我引用"DotSpatial“dll文件时,"Copy Local”被设置为true,并且控件工作正常。但是,当我将"Copy Local“设置为false时,我得到以下错误:
其他信息:未能加载文件或程序集“DotSpatial.Controls,Version=1.7.0.0,Culture=neutral,PublicKeyToken=4d9e49339a7d240c”或其依赖项之一。系统找不到指定的文件。
如何解决复制我的控件dll中的所有dll而不复制到app文件夹中的问题?
发布于 2018-08-28 04:53:23
我认为,默认情况下,DotSpatial组件不会随安装程序一起部署,也不会以自动向全局程序集缓存(Global Assembly Cache)注册库的方式分发。为了将copy local设置为false,应用程序需要能够在GAC中找到库。您需要确保这些库具有强名称(如果它们还没有强名称)。如果要从源代码构建DotSpatial dll文件,则需要按照本Microsoft doc中所述创建一个InstallShield有限版项目,或者运行Global Assembly Cache Tool (Gacutil.exe)。建议仅将该工具用于开发目的。
https://stackoverflow.com/questions/46679295
复制相似问题