Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# MEF don';在VSIX编辑器扩展中看不到其他项目中的依赖项_C#_Mef_Vsix - Fatal编程技术网

C# MEF don';在VSIX编辑器扩展中看不到其他项目中的依赖项

C# MEF don';在VSIX编辑器扩展中看不到其他项目中的依赖项,c#,mef,vsix,C#,Mef,Vsix,我正在编写Visual Studio编辑器扩展。在我的解决方案中有两个项目:主VSIX项目(第一个)和类库项目(第二个)。在第二个项目中,有几个为MEF导出并在第一个项目中使用的依赖项。但在运行时,MEF无法解析放置在第二个项目中的依赖项。 我如何解决这个问题 在其他情况下(简单的is-console应用程序),我会这样做: var assemplies = AppDomain.CurrentDomain.GetAssemblies() .Where(x => x.Location

我正在编写Visual Studio编辑器扩展。在我的解决方案中有两个项目:主VSIX项目(第一个)和类库项目(第二个)。在第二个项目中,有几个为MEF导出并在第一个项目中使用的依赖项。但在运行时,MEF无法解析放置在第二个项目中的依赖项。 我如何解决这个问题

在其他情况下(简单的is-console应用程序),我会这样做:

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");
var assemplies=AppDomain.CurrentDomain.GetAssemblies()
.Where(x=>x.Location.Contains(AppDomain.CurrentDomain.BaseDirectory));
var compositionHost=新容器配置()
.带组件(组件)
.CreateContainer();
var compositionContext=compositionHost.GetExport();
var exporter=新导出(compositionContext,()=>{});
var someService=exporter.Value.GetExport(“第一”);
但是如何解决Visual Studio编辑器扩展的这个问题我不理解

这个问题已经解决了。 如果有人感兴趣,只需将“Microsoft.VisualStudio.MefComponent”类型的资产添加到vsixmanifest中,以获得必要的程序集