c# - 从 .NET 2.0 应用程序调用 .NET 4.0 WPF 类库

标签 c# .net wpf vb.net dll

我有一个用 .NET 4.0 编写的应用程序,我将其编译成一个 DLL 文件。我希望能够在 Windows Forms .NET 2.0 应用程序中使用此 DLL 文件。除了将几个字符串值传递给 4.0 DLL 之外,我不需要应用程序进行太多交互。 DLL 几乎是一堆我转换为 UserControls 的 Windows,我只需要能够引用它们来显示 2.0 应用程序中的 UserControls,而不必使用不同的 exe,也不必单独打包它们。做这个的最好方式是什么?因为当我尝试将对 DLL 的引用添加到 2.0 应用程序时,它给我错误提示 DLL 是在较新版本的 .NET 中构建的,所以我不能那样做。这是 COM 对象的用武之地吗?如果有任何信息和链接,我将不胜感激。

最佳答案

如果应用程序真的可以从 2.0 应用程序调用,那么最好的方法是将其编译为 2.0 应用程序。 Visual Studio 2010(和 2008)支持多目标解决方案的概念。也就是说,您可以使用它为各种版本的 CLR 编译项目。

我会采用编译我的应用程序两次的方法

  • 4.0 一次
  • 2.0 一次

这样您就可以在您的 2.0 应用程序中直接使用 DLL。不需要凌乱的 COM 技巧

关于c# - 从 .NET 2.0 应用程序调用 .NET 4.0 WPF 类库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5597011/

相关文章:

c# - 如何为位置记录定义额外的初始化逻辑?

wpf - 在wpf中禁用退格键

wpf - 在哪里可以找到默认的 WPF 控件模板?

c# - WPF ComboBox 延迟过滤

c# - Unity容器可以动态加载程序集吗?

c# - 列出文件中的所有#region

c# - WCF 套接字异常

c# - 禁用鼠标单击 Windows 屏幕的某些区域 C# WPF

c# - 如果数据绑定(bind),如何将表单/字段标记为 "dirty"?

c# - Generics Fun : Where typeof(List<T>) ! = typeof(List<T>),并使用反射获取泛型方法,带有泛型参数