4.运行程序,报错未能加载文件或程序集
下面我们将对上述问题来使用“套路”一一解决。
大前提: 很多用户喜欢在工具箱里面拖控件使用,可视化的管理控件的属性,但遇到了上面所述
的问题不知道如何解决,这里我们先说一个“大前提”,要想使用工具箱里面的控件,无论你的计
算机操作系统是32位的还是64位的,只能部署SuperMap iObjects .NET 32位的开发环境(VS的
限制,超图也很无奈啊),这样才能注册工具箱。当然,不需要通过拖控件,习惯new控件来使用
的用户,你的计算机操作系统是32位的就安装32位的SuperMap iObjects .NET,你的计算机操作
系统是64位的,那么部署SuperMap iObjects .NET 32位还是64位的运行环境就任君选择了。
一.环境部署不成功
使用Install_x86.bat/Install_x64.bat 文件来完全部署的用户,如果部署过程中出现问题,解决的套路很简单。
1.关闭所有杀毒软件(最好连防火墙都关了)
2.关闭VS(可能会涉及到安装Microsoft .NET Framework 4.0)
3.以管理员身份运行Install_x86.bat/Install_x64.bat 文件
自定义部署不成功的用户,上面的套路照样可用,但通常出现问题是在注册工具箱的时候,我们在“大前提”里面说过,要使用工具箱来拖控件,就只能部署SuperMap iObjects .NET 32位的运行环境!所以注册工具箱的环境,要是32位的。当然,不需要注册工具箱的用户,这一点就可以不用关注。
二.部署成功了,VS工具箱里面没有控件
1.工具箱右键---->添加选项卡
2.右键新建的选项卡------>选择项
3.在新打开的页面中选择.NET
Framework组件,点击浏览,找到SuperMap iObjects .NET 目录下32位bin包(x86)的SuperMap.UI.Controls.dll,SuperMap.Mapping.dll,SuperMap.Layout.dll,SuperMap.Realspace.dll,SuperMap.Data.dll,添加后点击确定。
4.此时看看我们的工具箱,是不是就有了相关控件了
三.工具箱里面的控件拖到界面上报错
这个问题的解决办法是把SuperMap iObjects .NET 目录下32位的Bin包路径加在环境变量中
具体操作如下:
1.打开计算机
2.点击系统属性
3.点击高级系统设置
4.点击环境变量
5.双击系统变量中的path变量
6.然后找到SuperMap iObjects .NET组件目录下的32位bin包路径,加在系统环境变量path中(没有的话就新建一个path)
瞬间搞定问题
四.运行程序,报错未能加载文件或程序集
上面这种错误,解决办法如下:
1.把你引用的dll文件所在bin包目录添加到环境变量中,具体方法上面已经说过了。
2.确认你的许可是否有你所用到的功能模块,一般试用许可会包含所有的功能模块,而正式许可不一定包含全部的功能模块,具体检查方法如下:
(1)打开许可中心
(2)在许可状态中查看有哪些模块以及许可是否已经过期
3.如果使用的场景的功能,计算机显卡不支持的话,也会抛出这个异常。一个简单的检验办法就是打开桌面软件(SuperMap iDesktop),看三维功能是否能正常使用。
还有一种运行程序比较常见的错误是:未能加载文件或程序集 ‘SuperMap.**** Version =***’ 或者它的某一个依赖项。试图加载格式不正确的程序’
解决办法如下:
第一,保证编译目标平台位数和引用的dll文件动态库位数保持一致
具体操作:
1.选中工程,右键选择属性
2.选择一致的目标平台
第二,环境变量中只有一个组件bin路径,且与引用动态库路径保持一致,具体的查看和修改方法上面已经说过,这里不再赘述。
第三,把工程的工作目录和引用路径设置为引用动态库路径,这一点可以用来检测出现的问题是否跟环境变量有关。设置好了之后,程序能够运行起来,说明问题就出在环境变量上,还是不能运行起来的话,就不用纠结环境变量了,问题不在这上面,得找找其它原因。
第四,
选择合适的.NET
Framework框架,SuperMap iObjects .NET 6R版本,
得选择.NET
Framework 3.5及以下,SuperMap iObjects .NET 7C,8C版本,
得选择.NET
Framework 4.0及以上。
以上就是解决此类问题的“套路”,有了这些“套路”,此类问题就可以对症下药,迎刃而解了。
之前一直用debug Any CPU运行项目,由于有个引用只能在X64环境下进行,遂改成debug X64,但是之前工具箱自定义
控件
确确失效了,双击或拖拽该
控件
,VS就会提示“
控件
未能
加载
,将从工具箱把它移除”。
找到项目,查看属性,将设置如下所示,即可使用
一、什么是“无法枚举容器中的对象。访问被拒绝”错误?在Windows设备当中,对文件或文件夹的权限进行设置可以有效地保护隐私内容。因此,管理员账户可以对权限进行更改,并且有权决定是否将内容共享给多个用户使用。但是在某些情况下,当用户账户没有修改内容的权限时,就会出现“无法枚举容器中的对象。访问被拒绝”的错误提示。该错误的出现通常是由于配置错误或权限冲突造成的。初步了解完“无法枚举容器中的对象。访问被拒绝”错误之后,下面我们就来学习一下该问题的常规解决方法吧。二、如何解决“无法枚举容器中的对象。
Super
Map
i
Object
s for C++ 提供了Window 、Linux(x86) 以及 Linux_Arm(银河麒麟系统+龙芯CPU/飞腾CPU)的产品包 ,从而支持跨平台使用。本文主要介绍如何使用
Super
Map
i
Object
s for C++ 组件产品进行二次开发。主要包含以下几个方面的内容:
产品包介绍
开发工具说明
示例程序使用
VS开发示例
很多项目上
不能
轻易改动系统环境变量值。那么如何集成i
object
s java组件到项目系统中呢?我们估计以springboot项目为例,说明如何集成i
object
s java组件
库
。假设java组件解压后的bin目录的路径对应变量值为i
object
sjava。
在src同级目录建立lib文件夹,并标识为resource类型,拷贝java组件的jar到lib目录。
项目工程中引用该lib作为
库
。
在项目的pom文件里build节点里,将lib作为boo.
支持
.Net
组件这么久以来,客户打电话问的最多的是为什么我安装的
控件
拖不到form窗口中?或者64位组件的
控件
如何拖拽等等有关拖
控件
的问题。其实Visual Studio里只支持32位
Super
Map
控件
拖拽,不支持64位。那怎样在64位的组件form窗口中放
Super
Map
控件
呢?下面我们就详细介绍一下在Visual Studio里创建
Super
Map
控件
的步骤。
一、创建项目
Super
Map
i
Object
.NET
—开发环境搭建
本文以
Super
Map
最新版的10i与Visual Studio 2019为例进行搭建,目标是在WPF中进行开发,后续会发相关的
Super
Map
WPF的开发。
1.包下载
在官网中下载相关文件,参照下图。官网下载地址
2.环境配置
解压后文件列表如下,选择Install_x86.bat以管理员身份运行,这个操作应该包括环境变量、VS工程模板文件、引用和工具箱的添加。运行会直接将开发环境部署到VisualStudio2010和2012中,其他版本的
在项目中增加几个用户自定义
控件
,想及时在窗口Form上添加时却发现工具箱根本就没有这些用户自定义
控件
,研究了很久,发现有两个解决办法。通过以下两种方法操作后,再重新编译,在工具箱上就会出现用户自定义
控件
了,项目中所有的自定义
控件
都会及时显示到工具箱上。
【1】工具=》选项=》Windows窗体设计器=》常规=》AutoToolBoxPopulate=》True