问题标签 [mef]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1487 浏览

dll - 如何在 MEF 中设置 PrivateBinPath?

如何在 MEF 中设置 PrivateBinPath?

这就是我想要做的:如何更改 .NET 中引用的加载路径?

0 投票
1 回答
1504 浏览

c# - 如何使用 Rhino Mocks 模拟 MEF 导出?

参考 Managed Extensibility Framework (MEF),我正在尝试研究如何使用模拟创建干净的测试。

我有一个出口组件,它有三个私人进口。每个导入的对象(字段)都需要被模拟。鉴于 CompositionContainer 使用花哨的反射策略来设置可组合部分的导入私有字段,即使在单元测试中,我也需要使用容器来设置这些字段值。

如何在运行时告诉容器接受我用 Rhino Mocks 创建的动态对象作为有效导出,以便它可以用于满足我正在测试的组件中的导入?

0 投票
2 回答
4410 浏览

c# - MEF 创建策略

我正在尝试将共享部件创建策略用于 MEF 导出。然而,它似乎不像我想的那样工作。我在我的应用程序中做了两次合成,每次都得到一个新的对象副本。我已经通过向对象实例化添加实例计数器来证明这一点

并在调试中运行它。事实上,我第二次进行组合时,我得到了一个新的 FakeAutocompleteRepository 副本,其中 instCount = 2。导出部分包含

是否有一些技巧可以为后续请求获取相同的实例?如果这是我在作曲期间正在做的事情,我就是这样做的

基本上我试图在测试期间强制使用特定的组合。如果您对这些作品的单元测试有更好的想法,那么我会全力以赴。

0 投票
7 回答
49923 浏览

.net - 在 MEF 和 MAF 之间进行选择(System.AddIn)

Managed Extensibility Framework (MEF) 和 Managed AddIn Framework (MAF, aka System.AddIn) 似乎完成了非常相似的任务。根据这个 Stack Overflow 问题,MEF 是 System.Addin 的替代品吗?,您甚至可以同时使用两者。

您什么时候选择使用其中一个?在什么情况下你会选择两者一起使用?

0 投票
1 回答
7019 浏览

wpf - 使用 MEF 导入 WPF DataTemplate?

我将 MEF 视为一个可扩展性框架,我几乎被卖掉了,除了一点:

假设我想同时导入 ViewModel 和 View 来显示它。我认为“正确”的做法是让 MEF 部分导出 ViewModel 类和显示 ViewModel 的 DataTemplate。例如,假设您正在构建一个类似 Visio 的应用程序,并且您想要导入一个形状库。每个形状都需要一个在 Xaml 中定义的 View 和一个包装一些底层 Model 对象的 ViewModel。

这可能吗?DataTemplate 的 Import 合同是什么样的?如何让 WPF 知道导入的 DataTemplate?

0 投票
6 回答
7190 浏览

c# - 在 C# 3.0 中,我们使用 "var" 在 C# 2.0 中它的替代方案是什么?

我正在使用 Managed Extensibility Framework (MEF) 在 .Net 中学习可插入架构。我在网上看到了示例代码,但是当我尝试实现它时,我一度陷入困境。

该代码正在使用:

var在 C# 3.0 上可用,因为我在 C# 2.0 中编码。

以上两种说法的替代方案是什么?如何使用 VS 2005 使它们在 c# 2.0 中工作?


我现在试过这个bt它的说法

错误 1​​找不到类型或命名空间名称“AttributedAssemblyPartCatalog”(是否缺少 using 指令或程序集引用?) C:\Documents and Settings\test\Desktop\MEFDemo\MEFDemo\Program.cs 31 13 MEFDemo

我在哪里添加了对 SystemComponentModel.Composition 的引用

0 投票
1 回答
4329 浏览

mef - 寻找一个简单的 MEF 代码示例

我正在寻找一个简单的代码示例,展示如何使用 Microsoft Managed Extensibility Framework (MEF)。

我真的很喜欢http://blogs.msdn.com/brada/archive/2008/09/29/simple-introduction-to-composite-applications-with-the-managed-extensions-framework.aspx上的代码,但它是为 MEF CTP 2 或 3 编写的,并且当前版本 (CTP5) 的语法已更改。

0 投票
4 回答
5139 浏览

c# - 如何枚举 MEF 中 AggregateCatalog 或 DirectoryCatalog 中的程序集?

我有一个 MEF(Microsoft 扩展框架)应用程序,它从文件夹中加载一些程序集。我需要枚举为我的应用程序生成任何导出的程序集。

一种方法是枚举导入调用GetExportedObject().GetType().Assembly。但是在没有导入实例的情况下这样做会更干净。有没有办法从目录或其他任何东西中获取加载的程序集?

我需要程序集来获取它们的属性,如版权、版本、名称等。我的文件夹可以包含带导出和不带导出的程序集,但我只需要满足应用程序中任何导入的程序集。

0 投票
1 回答
684 浏览

c# - 由于缺少程序集,MEF 中的反序列化错误

我正在使用 MEF。我序列化依赖于已加载程序集之一的对象之一。

现在,当我尝试反序列化此对象时,它会引发“无法找到程序集”异常。MEF 在此反序列化之前将程序集加载到另一个类中(我假设它的范围是应用程序范围,它将它们加载到公共属性中)。

既然 MEF 已经将这些程序集加载到应用程序域中,为什么BinaryFormatter.Deserialize()找不到它们?

我可以使用System.Reflection.Assembly.Load,但是使用 MEF 有什么意义呢?MEF 有没有为此得到特别的支持?

0 投票
1 回答
2979 浏览

c# - 如何使用 MEF(托管扩展框架)从目录加载 dll

我目前正在与 MEF 合作并面临一些问题

我想要的是从目录中加载 dll。

首先我扫描目录并将两件事保存在字典中

来自相应 DLL 的名称属性(作为字符串)

和模块名称(作为字符串)

这是 ScanDirectory() 代码

并在复选框列表中显示他们的名字。从复选框中选择 dll。

我有进口声明

目前我的程序运行良好。我所做的是当我从复选框列表中检查插件时。它将其移动到“已加载”目录中,并且 QueryPlugin() 方法会查看“已加载”目录以搜索插件。

从复选框列表中取消选中插件后。我将它移出“加载”目录...

我想要的是使用 batch.RemovePart() 方法来摆脱 dll 从一个目录到另一个目录的快速移动......

注意:我不会使用手动将插件添加到批处理中

而不是这个我使用 DirectoryCatalog();;