GENERATEFAKES失败,出现CS0234

时间:2018-07-04 20:49:10

标签: visual-studio microsoft-fakes shim

我的项目是为我的队友建造的,但不是为我的。

项目:

project

错误:

enter image description here

我删除了对mscorlib伪造的引用,重新创建了Fake for System,但遇到了相同的错误。 如果尝试添加对mscorlib的引用,则会收到消息:

  

参考   'C:\ Windows \ Microsoft.NET \ assembly \ GAC_64 \ mscorlib \ v4.0_4.0.0.0__b77a5c561934e089 \ mscorlib.dll'   无法添加。该组件已被自动引用   通过构建系统。

我试图将<Reference Include="mscorlib" />添加到项目文件中,但这不能解决问题。

我使用VS 2017。 将不胜感激。

谢谢@Abhitej的回答。它解决了问题。除了切换到更高版本的框架外,我还为.fakes文件中的ShimGeneration和StubGeneration都为每个失败的类添加了<Remove FullName="System.Security.Cryptography.CryptoStream"/>之类的标签。

1 个答案:

答案 0 :(得分:1)

在大多数情况下,这种情况与安装在盒子上的.Net Framework版本有关。只要您的测试项目针对您盒子上最高版本的Framework,就应该可以解决。另外,在处理System *名称空间时,请确保仅针对需要排除其他类型的类型生成伪造品。这应该可以帮助Fakes处理API在各个版本上的更改,并解决因此而引起的任何构建错误。

-阿比希(Abhitej)