Подавление предупреждений Microsoft Fakes

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

Ответ 1

Вы можете удалить типы из shimgeneration с помощью

<Remove TypeName="c__DisplayClass" />

Это приведет к удалению всех типов, содержащих указанную выше строку.

См. ссылка msdn