首页 / 浏览问题 / 组件GIS / 问题详情
.Net 二次开发后,放到其他电脑上不能运行
26EXP 2020年05月08日

在开发所用的电脑上运行正常,然后把 Debug 文件夹 拷贝到另外一台电脑,双击运行无反应。

其中,向第二台电脑中同时拷贝了开发文件“supermap-iobjectsdotnet-9.1.2-17224-71949-all”并把其中Bin文件夹路径设置了环境变量,然后下载了LicenseCenter,并申请了使用许可,许可状态如图:

1个回答

通过私有部署去分发程序。具体实现步骤:

     1、首先将supermap-iobjectsdotnet-9.1.2-17224-71949-all的Bin包拷贝到Debug文件下面,和exe处于同级目录;

     2、如果项目中没有config配置文件,在开发项目内添加应用程序配置文件App.config:如果有就不用;

     3、在config配置文件中粘贴以下内容: 

	
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<probing privatePath="Bin"/>
</assemblyBinding>
</runtime>
</configuration>
	
	

       其中,<probing privatePath="Bin"/>中指定的位置即为指定的SuperMap iObjects .NET运行库与应用程序依赖的所有SuperMap程序集所在的子目录。

     提示:如项目已有配置文件,请将< runtime >标签内的内容复制到config配置文件中

4、将程序中引用的dll,重新引用,引用为拷贝到debug下面的Bin包中的dll。然后再属性中复制到本地改为false。

最后重新编译,然后将debug拷贝到其他任意有supermap许可的机器上就能正常运行了

 

4,620EXP 2020年05月08日
那你在主机上面运行exe能跑吗?是打包后要拷贝到虚拟机里面去用?
主机上没问题,拷贝到虚拟机不行
你虚拟机上面有对应的framework框架吗

第一个是主机的framework,第二个是虚拟机的

已解决,感谢技术人员的帮助。

最后的问题不在超图,是因为引用的另外的一个第三方动态链接库没有复制到本地。
...