无法转换为'System.Reflection.Assembly - MEF范围

时间:2016-04-05 23:02:58

标签: c# mef

我正在尝试让MEF范围在测试库.Net 4.7.1中工作,并且使用以下命令得到三个错误

var configuration = new ContainerConfiguration()
                .WithAssembly(typeof(MefScope).Assembly, conventions);

其中MefScope是上述行发生的类别(第32行)

我得到的错误是

Error   7   Argument 1: cannot convert from 'System.Reflection.Assembly 
[c:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.1\mscorlib.dll]' to 
'System.Reflection.Assembly'    D:\MyTest\___rc\PB\MyTest.Test\MefScope.cs  33  35  MyTest.Test

Error   6   The best overloaded method match for 'System.Composition.Hosting.ContainerConfiguration.WithAssembly(System.Reflection.Assembly, System.Composition.Convention.AttributedModelProvider)' 
has some invalid arguments  D:\MyTest\___rc\PB\MyTest.Test\MefScope.cs  33  21  MyTest.Test

 Error  5   The type 'System.Reflection.Assembly' is defined in an assembly that is not referenced.
 You must add a reference to assembly 'System.Reflection, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'.   D:\MyTest\___rc\PB\MyTest.Test\MefScope.cs  32  13  MyTest.Test

我假设这是某种dll不匹配但我无法弄清楚System.Reflection,Version = 4.0.0.0的位置。也许我总是忽略这一点。

善良的灵魂能否指引我走向正确的方向。我需要使用.Net 4.5.1。

1 个答案:

答案 0 :(得分:0)

这似乎是在单个项目中发生的事情。当我创建一个新项目并添加相同的代码(和引用)时,问题就消失了。