gpt4 book ai didi

mono - 在单声道上运行 MEF

转载 作者:行者123 更新时间:2023-12-04 06:23:37 25 4
gpt4 key购买 nike

我试图编译从 this page 复制的 MEF 代码.

using System.ComponentModel.Composition;
using System.ComponentModel.Composition.Hosting;
using System.Reflection;
using System;

public class Program
{
[Import]
public IMessageSender MessageSender { get; set; }

public static void Main(string[] args)
{
Program p = new Program();
p.Run();
}

public void Run()
{
Compose();
MessageSender.Send("Message Sent");
}

private void Compose()
{
AssemblyCatalog catalog = new AssemblyCatalog(Assembly.GetExecutingAssembly());
var container = new CompositionContainer(catalog);
container.ComposeParts(this);
}
}

public interface IMessageSender
{
void Send(string message);
}

[Export(typeof(IMessageSender))]
public class EmailSender : IMessageSender
{
public void Send(string message)
{
Console.WriteLine(message);
}
}

当我运行此命令时 dmcs example.cs我收到此错误消息。
ex.cs(1,29): error CS0234: The type or namespace name `Composition' does not exist in the namespace `System.ComponentModel'. Are you missing an assembly reference?

我需要提供什么引用库才能删除此错误消息?

添加
dmcs ex.cs /r:System.ComponentModel.Composition.dll作品。不必从codeplex 下载dll。

最佳答案

MEF 是否包含在 Mono 中不是问题,我认为……但是您需要 MEF 库(不包含在 Mono 库中)。从 Codeplex 下载库.然后从您的项目中引用它。如果这有效,那么 Mono 可能会很好地使用它。

关于mono - 在单声道上运行 MEF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6285522/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com