2013-11-26 19 views
11

Utilizzo Microsoft Fakes per eseguire il shim di un paio di componenti WindowsAzure per il test. Seguendo i consigli contenuti in vs 2012: Shims compile, ho aggiornato il mio file .fakes per generare solo gli spessori in realtà ho bisogno:Soppressione di avvertimenti Microsoft Fake

<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> 

Ma sto ancora ricevendo il "... Alcuni falsi non potrebbero essere generati" warning. Tutti gli shim specificati vengono generati e commentare una di quelle sopra le righe causa il mancato sviluppo del mio progetto di test. Se accendo la diagnostica, vedo decine di messaggi come:

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

Tutto funziona, voglio solo eliminare l'avviso in modo che si ferma confondere il nostro server CI. Esiste un numero di avviso per il messaggio non diagnostico che posso semplicemente ignorare nel progetto di test?

risposta

13

È possibile rimuovere tipi dal shimgeneration utilizzando

<Remove TypeName="c__DisplayClass" /> 

che rimuoverà tutti i tipi che contengono la stringa di cui sopra.

Vedi msdn link

+2

Questo non funziona per me. Dopo averlo aggiunto, ho ANCORA ottenuto lo stesso avvertimento ... come se ignorasse il fatto che ho aggiunto quella linea. Lo fa anche per circa quattro dozzine di altre classi. Indipendentemente dal numero di RIMUOVERE le linee che ho inserito, continua a sostenere che non può generare spessori per loro (non lo voglio!) ... questo sta diventando molto fastidioso. Qualsiasi aiuto aggiuntivo? Qualche idea per cui non posso liberarmi di questi avvertimenti? – pmbAustin

+0

@pmbAustin Questo dovrebbe funzionare. Se non lo è, dovresti aprire un ticket per la connessione. – allen

+1

Stiamo abbandonando MS Fakes. Sono solo rotte, lente, e ci sono altre alternative migliori, e la SM non sembra che stia facendo qualcosa con loro comunque. – pmbAustin