我正在编写Visual Studio编辑器扩展。在我的解决方案中,有两个项目:主VSIX项目(第一个)和类库项目(第二个)。在第二个项目中,有几个依赖项已导出为MEF,并在第一个项目中使用。但是在运行时,MEF无法解析放置在第二个项目中的依赖项。 我该如何解决这个问题?
在其他情况下(简单的是-控制台应用程序),我会这样做:
var assemplies = AppDomain.CurrentDomain.GetAssemblies()
.Where(x => x.Location.Contains(AppDomain.CurrentDomain.BaseDirectory));
var compositionHost = new ContainerConfiguration()
.WithAssemblies(assemplies)
.CreateContainer();
var compositionContext = compositionHost.GetExport<CompositionContext>();
var exporter = new Export<CompositionContext>(compositionContext, () => { });
var someService = exporter.Value.GetExport<ISomeService>("First");
但是如何解决我无法理解的Visual Studio编辑器扩展问题
答案 0 :(得分:0)
此问题已解决。 如果有人感兴趣,则只需将“ Microsoft.VisualStudio.MefComponent”类型的资产添加到vsixmanifest的必要程序集即可。