2013-11-26 133 views
11

我正在使用微軟虛假來墊亮幾個WindowsAzure組件進行測試。繼vs 2012: Shims compile的建議,我更新了我的.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> 

但我仍然得到「有些假貨不能生成...」的警告。所有指定的墊片正在生成,並且註釋上述任何一行會導致我的測試項目無法生成。如果我打開診斷,我看到許多信息,如:

Warning 2 Cannot generate shim for Microsoft.WindowsAzure.Storage.Blob.CloudBlobClient+<>c__DisplayClass1: type is not supported because of internal limitations. 

一切正常,我只是想抑制警告,因此停止混淆我們的CI服務器。是否存在警告號碼,我可以在測試項目中忽略這些非診斷消息?

回答

13

可以使用

<Remove TypeName="c__DisplayClass" /> 

,將刪除掉所有包含上面的字符串類型請從shimgeneration類型。

請參閱msdn link

+2

這不適用於我。添加後,我仍然得到相同的警告......就像它忽略了我添加該行的事實。它也爲大約四十幾個其他課程這樣做。無論我放入多少個REMOVE線,它仍然聲稱它不能爲它們生成墊片(我不希望它!)...這變得非常煩人。任何額外的幫助?任何想法,爲什麼我不能擺脫這些警告? – pmbAustin

+0

@pmbAustin這應該有效。如果它不是你應該打開連接票。 – allen

+1

我們放棄了MS Fakes。他們只是破碎,緩慢,還有其他更好的選擇,而MS似乎沒有對他們做任何事情。 – pmbAustin