基于SuperMap Objects .Net做二次开发的程序部署与分发有两种方式:
- 绿色版部署(不单独安装SuperMap Objects .Net Runtime运行时或开发版)
- 共享部署(需单独安装SuperMap Objects .Net Runtime运行时或开发版)
先明确两个名词和概念:
- SuperMap程序集:开发时引用的程序集(SuperMap.*.dll),如SuperMap.Data.dll,SuperMap.Mapping.dll等。
- SuperMap Objects .NET运行库文件(SuperMap程序集依赖的文件和库):除SuperMap程序集以外的文件,如SuMap600.dll、SuperMap.xml文件等。
绿色版部署
- 将开发用到的SuperMap程序集(如SuperMap.Data.dll)和SuperMap Objects .NET运行库文件统一放到应用程序目录下。如你的应用程序生成目录为X:\SuperMap.OldFoorDataUpload\bin\Release,则把程序集和运行库文件放在 X:\SuperMap.OldFoorDataUpload\bin\Release\SMONBin目录下。(程序集和运行库文件都可在SuperMap Objects .Net安装目录Bin目录下找到)
- 给应用程序添加App.config配置文件,并在该文件内追加如下内容。
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<probing privatePath="SMONBin" />
</assemblyBinding>
</runtime>
</configuration>
- 编译程序,拷贝到目标计算机。
- 运行离不开.Net Framework、SuperMap License Manager 6R(www.supermap.com.cn有下)和SuperMap产品许可哦!
- Run下试试!
共享部署(适用于同一台电脑部署多个Objects .Net应用程序)
- 开发应用程序,添加“SuperMap程序集”引用,默认“复制到本地”设为True,则发布后与程序在同级目录。
- 编译程序,拷贝到目标计算机。
- 下载SuperMap Objects .Net Runtime运行时或开发版,并安装。
- 确认系统Path变量包含 指向SuperMap Objects .Net 安装目录Bin目录的值。
- Run下试试!
更多可查看:SuperMap Objects .NET 6R -> 开发指南产品分发与再部署
扩展阅读:
- 去掉发布版本中pdb文件:http://www.cr173.com/html/14121_1.html
- App.config的<assemblyBinding> 項目配置:http://msdn.microsoft.com/zh-tw/library/twy1dw1e(v=vs.80).aspx
- 用批处理命名修改Path变量:http://zhidao.baidu.com/link?url=J0Uvx5BAGKxpFeblYEt5lzcqWILOkLwDwzHMDDADN-sxovqgYut_2N1BtwXHev2Tn1NvyW-WiMOqLZA43NZfsK