C# MS Fakes仅在MSBuild中加载程序集失败

C# MS Fakes仅在MSBuild中加载程序集失败,c#,msbuild,microsoft-fakes,C#,Msbuild,Microsoft Fakes,我有以下设置: Solution N1 -> .net 3.5, Ninject 2.2 Solution N2 -> .net 4.5.2, Ninject 3.2 我将一个项目从解决方案N1添加到解决方案N2,然后为使用Ninject 2.2的项目生成了假货。 在vs中,假货一代成功了。 在MsBuild(和TeamBuild)中,我得到以下错误: C:\Somepath\Fakes\SomeProj.fakes: assembly C:\Somepath\SomeProj.d

我有以下设置:

Solution N1 -> .net 3.5, Ninject 2.2
Solution N2 -> .net 4.5.2, Ninject 3.2
我将一个项目从解决方案N1添加到解决方案N2,然后为使用Ninject 2.2的项目生成了假货。 在vs中,假货一代成功了。 在MsBuild(和TeamBuild)中,我得到以下错误:

C:\Somepath\Fakes\SomeProj.fakes: assembly C:\Somepath\SomeProj.dll failed to load properly Could not resolve assembly 'Ninject, Version=2.2.0.0, Culture=neutral, PublicKeyToken=6b7e450ec5ed63ad'. Are you missing an assembly reference?
因此,即使我选择了vs test runner(而不是msbuild)来运行测试,我的测试也无法在构建上运行

不幸的是,由于某些外部原因,我无法更新解决方案N1中的Ninject。 在生产中,该应用程序可以正常工作,因为我将Ninject重新映射到3.2.0.0,并且它可以正常工作


你知道如何让赝品加载3.2.0.0(不在SomeProj中引用)或忽略该代码吗?(我试图明确指定我需要的短截头和垫片,这与MsBuild中的错误相同)。

因此,我最后做的是将旧的Ninject添加到repo中,然后在
文件中像这样引用它。fakes
文件:

  <Compilation>
    <Reference Path="RelativeToCsProjFolder\Ninject.dll" FullName="Ninject, Version=2.2.0.0, Culture=neutral, PublicKeyToken=6b7e450ec5ed63ad"/>
  </Compilation>

这条路径中的相对路径语法让我有些吃惊