我们在C#.NET中有一段遗留代码,目标是Compact Framework。我们希望将此代码转换为ActiveX控件,该控件必须在Windows Mobile 5下的.NET Compact Framework上运行。是否可以实现此类控件?如果是这样,任何人都可以提供一个很好的资源来解释如何做到这一点吗?
我已经搜索了很多,但还没有找到确定的答案或资源。
在完整的.NET Framework上,这似乎是完全可行的。我还发现无法从非托管上下文中启动这样的控件。但除此之外,我无法找到问题的确切答案。
答案 0 :(得分:1)
.NET CF不支持托管。这意味着,当请求控件通过注册表中指定的详细信息进行实例化时,非托管进程(大多数ActiveX容器,如Internet Explorer Mobile等)都无法启动.NET CLR运行时。因此,.NET CF不支持桌面版本用于注册COM / ActiveX对象的功能。
因此,在这方面,您无法创建可由仲裁应用程序使用的ActiveX控件。
如果遗留代码是基于C#的,那么将其打包为ActiveX控件背后的驱动因素是什么?托管用户控件或类库是否适合替代?
答案 1 :(得分:1)
简而言之,因为Windows移动版上的.NET CF非常有限并且是一个小得多的子集。由于受到限制,没有在Windows Mobile上托管ActiveX的东西,坚持......我刚刚意识到我写的详细解答另一个SO用户here。
希望这有帮助, 最好的祝福, 汤姆。