2009-12-15 58 views
0

我们在C#.NET中有一段遗留代码,目标是Compact Framework。我们希望将此代码转换为ActiveX控件,该控件必须在Windows Mobile 5下的.NET Compact Framework上运行。是否可以实现这样的控件?如果是这样,任何人都可以提供一个很好的资源,解释如何做到这一点?是否可以在C#.NET CF for Windows Mobile中编写ActiveX控件?

我已经搜索了很多,但还没有找到明确的答案或资源。

看来,这完全可以在完整的.NET Framework上实现。我还发现,不可能从非托管环境启动这种控制。但除此之外,我无法找到我的问题的确切答案。

回答

1

.NET CF不支持托管。这意味着当它要求通过注册表中指定的详细信息实例化一个.NET CLR运行时时,非托管进程(大多数ActiveX容器,如Internet Explorer Mobile等)将无法启动。因此,.NET CF不支持桌面版本用于注册COM/ActiveX对象的功能。

因此,在这方面,您无法创建可由任意应用程序使用的ActiveX控件。

如果您的遗留代码是基于C#的,那么将其封装为ActiveX控件背后的驱动因素是什么?受管理的用户控件或类库是否是合适的替代品?

+0

驱动因素是:另一方正在实施托管应用程序。我们的代码可以处理他们想要使用的非常具体的功能。出于某种原因,他们的架构规定他们可以通过严格定义的ActiveX接口与外部库进行通信。这就是我正在研究这个问题的原因。如果事实证明是不可能的,我们将不得不寻找一些替代品... – Daan 2009-12-15 10:36:05

+0

不是我真正希望的答案,但感谢您的回复。我们必须找出一种替代方法来连接我们的代码。 – Daan 2009-12-15 12:02:33

1

总之不,因为Windows mobile上的.NET CF非常有限,而且子集小得多。没有这样的东西,因为受限制,在Windows Mobile上托管ActiveX ......我只是意识到我给另一个SO用户here写了一个详细的答案。

希望这会有所帮助, 最好的问候, 汤姆。

+0

我担心这将成为答案......无论如何感谢您的回复。 – Daan 2009-12-15 12:03:13

相关问题