Visual studio 2013 未生成伪造程序集

Visual studio 2013 未生成伪造程序集,visual-studio-2013,microsoft-fakes,Visual Studio 2013,Microsoft Fakes,我不知道我需要做什么来制造假货。在我的测试项目中,我包含了一个对我想要伪造的程序集的引用。显然,这是不正确的 另外,我从Assembly元素中删除了Version属性,但是我得到的警告仍然包括名称空间中的版本号。怎么了?我发现了我的问题所在。我以为StubGeneration和ShimGeneration应该是汇编的子元素,但它们不是。他们被认为是赝品的后代,是组装品的兄弟姐妹。将my.fakes文件更改为此文件后,它可以工作: <Fakes xmlns="http://schemas.m

我不知道我需要做什么来制造假货。在我的测试项目中,我包含了一个对我想要伪造的程序集的引用。显然,这是不正确的


另外,我从Assembly元素中删除了Version属性,但是我得到的警告仍然包括名称空间中的版本号。怎么了?

我发现了我的问题所在。我以为StubGeneration和ShimGeneration应该是汇编的子元素,但它们不是。他们被认为是赝品的后代,是组装品的兄弟姐妹。将my.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>


请注意,如果类是密封的或是来自mscorlib的某些类,则会有一些困难。这些可能是不可能伪造的。目前,我们没有足够的信息来解释问题的原因。程序集中有一些密封的类,但我对它们不感兴趣。我试图填充的类是公共的,而不是密封的。我正试图修改.fakes文件以排除那些密封的类。它似乎不在乎我在.fakes文件中放了什么。@Nick你找到答案了吗?我也有同样的问题@Elhamabbasi我的问题只是我的.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>