Visual studio 2013 禁止Microsoft伪造警告
我正在使用Microsoft Fakes填充几个WindowsAzure组件进行测试。按照中的建议,我更新了我的.fakes文件,以生成我实际需要的垫片: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
<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编号。