Visual studio 2013 禁止Microsoft伪造警告

Visual studio 2013 禁止Microsoft伪造警告,visual-studio-2013,microsoft-fakes,Visual Studio 2013,Microsoft Fakes,我正在使用Microsoft Fakes填充几个WindowsAzure组件进行测试。按照中的建议,我更新了我的.fakes文件,以生成我实际需要的垫片: <Fakes xmlns="http://schemas.microsoft.com/fakes/2011/" Diagnostic="false"> <Assembly Name="Microsoft.WindowsAzure.Storage" Version="2.1.0.0"/> <StubGene

我正在使用Microsoft Fakes填充几个WindowsAzure组件进行测试。按照中的建议,我更新了我的.fakes文件,以生成我实际需要的垫片:

<Fakes xmlns="http://schemas.microsoft.com/fakes/2011/" Diagnostic="false">
  <Assembly Name="Microsoft.WindowsAzure.Storage" Version="2.1.0.0"/>
  <StubGeneration>
    <Clear/>
  </StubGeneration>
  <ShimGeneration>
    <Clear/>
    <Add FullName="Microsoft.WindowsAzure.Storage.CloudStorageAccount"/>
    <Add FullName="Microsoft.WindowsAzure.Storage.Blob.CloudBlobClient"/>
    <Add FullName="Microsoft.WindowsAzure.Storage.Blob.CloudBlobContainer"/>
    <Add FullName="Microsoft.WindowsAzure.Storage.Blob.CloudBlockBlob"/>
    <Add FullName="Microsoft.WindowsAzure.Storage.Queue.CloudQueueClient"/>
    <Add FullName="Microsoft.WindowsAzure.Storage.Queue.CloudQueue"/>
  </ShimGeneration>
</Fakes>

但我仍然收到“一些假货无法生成…”的警告。正在生成所有指定的垫片,注释上面的任何一行都会导致我的测试项目无法构建。如果打开diagnostics,我会看到几十条消息,如:

Warning 2   Cannot generate shim for Microsoft.WindowsAzure.Storage.Blob.CloudBlobClient+<>c__DisplayClass1: type is not supported because of internal limitations.
警告2无法为Microsoft.WindowsAzure.Storage.Blob.CloudBlobClient+c__DisplayClass1生成垫片:由于内部限制,不支持类型。

一切正常,我只想抑制警告,这样它就不会混淆我们的CI服务器。是否有一个非诊断消息的警告号,我可以直接粘贴在测试项目中忽略?

您可以使用

<Remove TypeName="c__DisplayClass" />

这将删除包含上述字符串的所有类型


请参见

我通过进入我的Fakes文件夹并删除该程序集的Fakes,然后进入References文件夹并删除该程序集的Fakes DLL来解决此问题。然后,我在引用中的程序集上单击鼠标右键,并选择“添加伪程序集”(再次)。

在它完成了所有伪造的创建工作(需要几分钟)之后,我再次构建了该项目,所有错误都消失了。

这对我不起作用。加上这些之后,我仍然收到同样的警告。。。好像它忽略了我加上那句话的事实。它也在为大约40多个其他课程做这项工作。不管我放了多少条移除线,它仍然声称它不能为它们生成垫片(我不想!)。。。这真让人讨厌。还有其他帮助吗?知道我为什么不能摆脱这些警告吗?@pmbAustin这应该行得通。如果不是的话,你应该在connect上开一张票。我们放弃了Fakes女士。它们只是坏了,速度慢了,还有其他更好的选择,MS似乎也没有对它们做任何事情;如何抑制来自假货生成的警告?如果您有一个实际需要的shim类,但该类有一个测试中未使用的方法,并且该方法是不可调试的,那么您将收到一个类似的警告,其中没有CA编号。