积极答复者
关于web页面中的ActiveX控件在客户端机器上运行环境同时有.NET FrameWork 1.1和2.0的问题。

问题
-
问题描述:
1.在企业内部的BS系统,其中某个web页面上有一个使用.net frame work 1.1写的ActiveX控件,此控件供应商并未提供源代码,当客户端只有.net framework 1.1的时候一切正常.
2.当一个基于.net framework 2.0的新系统部署后,发现该控件无法正常使用,显示为一个"X".
3.提取web页面的request.getHeaderNames();可以得到如下描述:"compatible; MSIE 7.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727;"
4.经过多次测试,卸载.net framework 2.0 以及重装系统,只要系统中只有.net framework 1.1,该控件就可以正常工作.因此推断该控件自动运行在了 .net framework 2.0的CLR中了.
5.向供应商提出修改需求,对方提出了我方无法承受的价格.
6.请问有什么途径可以指定该控件在.NET Framework 1.1的CLR中运行.是BS系统客户端机器的环境.
谢谢诸位.
答案
-
您在2.0建立一个com activex 控件 内部放置一个你说的 1.1 usercontrol 并且设置 dock =fill
这样在客户端的浏览器里面 浏览器将正确的使用2.0的控件 而2.0控件也会正常调用1.1的控件
答案900, 目标五颗星 Aurvana Air, 音乐真的是随风飘来的 凉宫春日 永无止境的八月 你到底什么时候结束阿。。。。- 已建议为答案 Raymond TangModerator 2009年7月21日 3:34
- 已标记为答案 韦恩卑鄙 waywaModerator 2009年7月24日 4:33
全部回复
-
你好 你在配置文件中增加一些配置试试呢
<configuration>
<startup>
<requiredRuntime version="v1.1.4322"/>
<supportedRuntime version="v2.0.50727"/>
<supportedRuntime version="v1.1.4322"/>
<supportedRuntime version="v1.0.3705"/>
</startup>
</configuration>
Wenn ich dich hab’,gibt es nichts, was unerträglich ist.坚持不懈!http://hi.baidu.com/1987raymond -
你好 我之前很少涉及ActiveX所以对于具体的不是很清楚,对于这种情况也不是很了解 期待其他知道的朋友为你解答!
Wenn ich dich hab’,gibt es nichts, was unerträglich ist.坚持不懈!http://hi.baidu.com/1987raymond -
您在2.0建立一个com activex 控件 内部放置一个你说的 1.1 usercontrol 并且设置 dock =fill
这样在客户端的浏览器里面 浏览器将正确的使用2.0的控件 而2.0控件也会正常调用1.1的控件
答案900, 目标五颗星 Aurvana Air, 音乐真的是随风飘来的 凉宫春日 永无止境的八月 你到底什么时候结束阿。。。。- 已建议为答案 Raymond TangModerator 2009年7月21日 3:34
- 已标记为答案 韦恩卑鄙 waywaModerator 2009年7月24日 4:33
-
你好,
就我所知,一个进程只能够HOST一个版本的CLR Runtime,所以我想知道为什么你的系统现在自己会Host .NET Framework2.0.我认为不是那个控件自己加载Runtime的。看下这个文章,它讨论了集中Runtime初始化的情形:
http://msdn.microsoft.com/en-us/library/hz1www0a.aspx
运行时版本由以下因素确定:
-
COM 应用程序可以在应用程序配置文件中指定运行时版本。
-
运行时可能已由一个可扩展主应用程序(例如,Microsoft Internet Explorer 或 Microsoft Office)载入内存。COM 应用程序插件使用为主应用程序加载的运行时来运行托管组件。
-
如果需要严格控制,COM 应用程序可以通过在程序代码中调用 CorBindToRuntimeHost (从 mscoree.dll 中导出)方法预加载一个特定版本的运行时。或者,应用程序也可以根据一个激活的 COM 类,通过调用 GetRequestedRuntimeVersionForCLSID 方法(也从 mscoree.dll 中导出)并将返回值传递到 CorBindToRuntimeHost 来指定不同的目标运行时版本。
如果没有这些因素,启动代码将加载计算机上安装的兼容运行时的最新版本。
Please remember to mark the replies as answers if they help and unmark them if they provide no help.
Welcome to the All-In-One Code Framework! If you have any feedback, please tell us. -