我正在尝试让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。
答案 0 :(得分:0)
这似乎是在单个项目中发生的事情。当我创建一个新项目并添加相同的代码(和引用)时,问题就消失了。