Я использую Microsoft Fakes, чтобы подделать пару компонентов WindowsAzure для тестирования. Следуя советам в против 2012 года: компиляция Shims, я обновил файл .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-сервер. Есть ли номер предупреждения для не диагностического сообщения, которое я могу просто вставить в тестовый проект, чтобы игнорировать?