.net 1.1应用程序如何使用.net 2.0程序集

问题描述:

我们有一个使用第三方组件的旧.net 1.1项目。实际上,该组件不能满足新的要求,并且没有提供商的支持。提供者建议使用正常工作的新组件。问题是这个组件需要.net 2.0。.net 1.1应用程序如何使用.net 2.0程序集

这个项目很大,将这个项目移动到2.0的成本很高。

我们可以有其他的替代方案吗? 1.1程序集如何调用2.0程序集?

.NET 1.1无法加载.NET 2.0程序集,因为内部格式已更改。您的应用程序基本上会认为该程序集不是.NET程序集。从长远来看,更新应用程序以使用.NET 2.0(如果不是更新的话,因为自2.0以来有多个.NET版本)将是一个不错的主意。但是,如果这不是一个选项,您可以为您的可执行文件创建一个.config文件,并告诉CLR在运行您的应用程序时始终使用.NET 2.0。这应该允许加载.NET 2.0程序集,但是,您的应用程序使用的.NET 1.1和2.0之间的任何中断更改都会导致错误。

+0

你是否认为围绕2.0程序集创建具有所需功能的包装对象并将其作为COM DLL公开是一个好主意? – baraban 2011-03-31 18:40:20

+0

@ user976536我不认为这会起作用。在.NET 4.0之前,一个进程只能运行1个CLR。如果您尝试从.NET 1.1应用程序加载COM对象,则它必须加载.NET 2.0才能加载.NET 2.0程序集。这会给你一个错误,因为.NET 1.1 CLR已经加载到进程中。 – Andy 2011-03-31 18:43:36