【问题标题】:Mixing MEF parts targetting .NET 3.5 with an application targetting .NET 4.0将面向 .NET 3.5 的 MEF 部件与面向 .NET 4.0 的应用程序混合
【发布时间】:2010-12-29 19:22:30
【问题描述】:

Managed Extensibility Framework 既是一个独立项目(目前针对 .NET 3.5),也是 .NET 4.0 框架的一部分。

假设我创建了面向 .NET 3.5 且包含 MEF 部件的程序集。这些程序集将引用System.ComponentModel.Composition.dll 的独立版本。

现在假设我创建了一个面向 .NET 4.0 且支持 MEF 的应用程序。此应用程序将引用 .NET 4.0 框架附带的 System.ComponentModel.Composition.dll。我可以在此应用程序中使用上述 MEF 部件吗?

【问题讨论】:

    标签: .net .net-4.0 mef


    【解决方案1】:

    不幸的是,这不起作用,因为您只能通过构建 codeplex drop 生成 3.5 版本的 System.ComponentModel.Composition.dll,并且没有使用与官方 4.0 版本相同的密钥签名,因此 CLR 将同时加载两者程序集并将属性视为两个不同的属性。因此,假设应用程序使用 .Net 4.0 版本的 System.ComponentModel.Compsition.dll 并构建目录/容器,它只会找到标记有 .Net 4.0 版本的属性的部分。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-22
      • 2011-06-01
      相关资源
      最近更新 更多