Foxtable(狐表)用户栏目专家坐堂 → 狐表加载.net 4.0 版本的类库出错 【解决方案】


  共有2907人关注过本帖树形打印复制链接

主题:狐表加载.net 4.0 版本的类库出错 【解决方案】

帅哥哟,离线,有人找我吗?
打错潇洒
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:568 积分:6437 威望:0 精华:2 注册:2012/12/23 8:21:00
狐表加载.net 4.0 版本的类库出错 【解决方案】  发帖心情 Post By:2014/10/26 16:04:00 [只看该作者]


我从网络上下载了一个用 .net 4.0 开发的类库 系统也安装 .net 4.0 的简化版本 狐表一引用 奇迹就发生了


图片点击可在新窗口打开查看此主题相关图片如下:we.jpg
图片点击可在新窗口打开查看

之前的狐表我也有加载 .net 4类库好像没有提示出错的(系统已经安装.net 4.0)

难道就真的没有办法了解决了吗?

网络上的解决方案: 
统一化类库 , 实际可能性 为零。推荐指数为零。

还有其他的乱七八糟的方案,几乎是在放屁。从昨天到今天,一直在纠结这个问题,官方和二楼的回答是安装完整版本的.net。这样子一来就要几百兆。这个真的很不现实。

难道安装简化版本的.net 4    .net 4 的类库就真的没有办法了引用了吗?

如果安装简化版本的 .net 4  就无法使用 .net几乎全部功能我觉得实在是微软的失败。而且 .net 3.5 实在是太大了 win7 是很好解决的因为系统默认就已经安装了 .net 3.5

现在问题来了:狐表是否能在只有安装了.net 4 的环境下运行呢?如果是,可以的。那么,狐表就应该是可以支持.net 4.0 。
如果不支持的话:WindowXP 难道要安装两个版本的 .net 了吗 ?没有在使用WindowXP 无法回答你是与否,我想如果不出意外的话 WindowXp只安装了.net4.0的话 狐表也能完美运行的。


如何让在安装.net 4.0 的情况下 狐表也能支持 .net 4.0 类库,我找了很多的资料,发现只有一种可能性,那就是以 .net COM 的形式 才有可能让狐表支持到 .net 4.0 类库。

事先声明,我是找了资料,并且只是简单的测试了一下,具体如何看实际情况而定。

.com 有一个特性 ,几乎不受到语言的限制,根据资料,那没.net 4.0 的com dll 也就等同于,不受到框架运行集的版本限制了,根据这个推断。如果写一个类似狐表的动态引入dll的特性
是不是就可以支持到.net 4.0的类库了呢?

理论归理论,实践是检验真理的唯一标准!那就动手干吧!

先创建一个 .net 4.0 的com 

部分代码:主要的还是一个反射dll 实现动态的引用 。 有需要.net com开发资料的,还请百度找。


图片点击可在新窗口打开查看此主题相关图片如下:bfdm.jpg
图片点击可在新窗口打开查看

注册这这个 com (.net com 注册不同于一般的com注册方式 .net 3.5 以下的 com 好像还要添加全局缓存!.net 4.0 全局缓存好像是不用添加的。大家可以自己动手试一试,我测试注册一下就能用了。)

在写一个很普通的类


图片点击可在新窗口打开查看此主题相关图片如下:srf.jpg
图片点击可在新窗口打开查看

狐表里用这个com 来实现 对 .net 4 的类库的引用 

Dim COM As Object
COM = CreateObject("FOX_COM_DIY.COM")
Try
  Output.Show( COM.LinkTable("C:\Users\Administrator\Desktop\ClassLibrary2\ClassLibrary2\bin\Debug\ClassLibrary2.dll","ClassLibrary2.Class1","str","add","Name"))
Catch ex As Exception
End Try

测试的结果也让人 无比激动  运行成功。

稍后 再把项目分享出来啊!!!





[此贴子已经被作者于2014-10-27 9:55:36编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/10/26 16:06:00 [只看该作者]

 你安装的可能是 .net 4 client 不同于 .net Framework 的

 

 你要安装 2.0sp2 或者 .net 3.5 或者而以上版本。


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/10/26 16:08:00 [只看该作者]


 回到顶部
帅哥哟,离线,有人找我吗?
打错潇洒
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:568 积分:6437 威望:0 精华:2 注册:2012/12/23 8:21:00
  发帖心情 Post By:2014/10/26 16:22:00 [只看该作者]

改为 3.5 就可以 改为4 就不可以 无语了...........

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251060 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2014/10/27 9:27:00 [只看该作者]

4和3.5可以并存的啊,windows 8默认只有4, 需要在添加删除组件中,勾选.net 3.5,才会安装3.5,3.5包括2.0了.

4不包括3.5,也不包括2.0

 

实际上,.net就三个版本,1.0 、2.0(3.0和3.5本质上还是2.0,是2.0的扩展)、4.0

 

所以,你有3.0和3.5,肯定可以运行foxtable,如果是4.0,则不一定,还需要安装3.5才行。

[此贴子已经被作者于2014-10-27 9:30:52编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
supwork
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:688 积分:4903 威望:0 精华:0 注册:2013/10/27 17:14:00
  发帖心情 Post By:2015/8/8 14:34:00 [只看该作者]

稍后 再把项目分享出来啊!!!
怎么没看到分享呢

 


 回到顶部