伪装配不产生

Nic*_*ick 8 microsoft-fakes visual-studio-2013

我无法弄清楚我需要做些什么来生成Fakes.在我的测试项目中,我包含了一个我想要假装的程序集的引用.它将/ Fakes/<程序集名称> .fakes添加到我的项目中并构建了项目.有大量的警告,但有0个错误,并且构建成功完成.但它没有添加任何对生成的.Fakes程序集的引用.

大多数警告都是无法为枚举生成存根或填充程序的事情,或者某些私有类对于伪造程序集是不可见的.我想要Shim的程序集中只有一个类,而且我想要Stub.所以我编辑了.fakes文件:

<Fakes xmlns="http://schemas.microsoft.com/fakes/2011/"
       Diagnostic="true">
  <Assembly Name="[assembly name]">
    <StubGeneration>
      <Clear />
    </StubGeneration>
    <ShimGeneration>
      <Clear />
      <Add Namespace="[namespace that the 1 class I want to shim is in]" />
    </ShimGeneration>
  </Assembly>
</Fakes>
Run Code Online (Sandbox Code Playgroud)

我清理并重建了项目,我仍然收到大量的警告,并且没有错误,它不能存储或填充我在.fakes文件中排除的类,并且仍然没有生成.Fakes程序集.

我如何阻止它尝试创建存根并仅为特定命名空间中的类创建填充程序?来自http://msdn.microsoft.com/en-us/library/hh708916.aspx的信息显然不正确.

此外,我从Assembly元素中删除了Version属性,但是我得到的警告仍然包含命名空间中的版本号.那是怎么回事?

Nic*_*ick 8

我发现了我的问题.我认为StubGeneration和ShimGeneration应该是大会的子元素,但它们不是.他们应该是伪装的孩子,也是大会的兄弟姐妹.将我的.fakes文件更改为此文件后,它可以正常工作:

<Fakes xmlns="http://schemas.microsoft.com/fakes/2011/"
       Diagnostic="true">
  <Assembly Name="[assembly name]" />
  <StubGeneration>
    <Clear />
  </StubGeneration>
  <ShimGeneration>
    <Clear />
    <Add Namespace="[namespace that the 1 class I want to shim is in]" />
  </ShimGeneration>
</Fakes>
Run Code Online (Sandbox Code Playgroud)