Не удается создать проект с сборкой подделок

Я добавил сборку подделок в проект Visual Studio 2012 unit test, соответствующий моему проекту приложения (System Under Test), как описано в статье Peter Provost. Тем не менее, проект больше не будет создан из-за неразрешенной ссылки на тип созданного кода Fakes:

The type or namespace name 'FieldDefinition' does not exist in the namespace 'bc::ProductStudio' (are you missing an assembly reference?)
[C:\Users\arvek\Projects\Project\Project.Tests\obj\Debug\Fakes\bc\f.csproj]
C:\Users\arvek\Projects\Project\Project.Tests\f.cs

Что здесь происходит? Из того, что я знаю, это должно просто работать, поэтому мне кажется, что в средствах подделок есть ошибка.

Ответ 1

Ошибка, скорее всего, связана с ошибкой в ​​подделках, инициированных поддельной сборкой. Я отправил этот вопрос в Microsoft.

Ответ 2

Эта ошибка присутствует и в VS2013. Ссылка с ошибкой MSDN.

Работа вокруг: Удалить файл .messages из папки FakeAssemblies.

Ответ 3

Один из вариантов, который может помочь вам диагностировать проблему, - это включить диагностику для подделок. В файле .fakes.

<Fakes xmlns="http://schemas.microsoft.com/fakes/2011" Diagnostic="true" Verbosity="Noisy">

Кроме того, убедитесь, что для параметра "Вывод сборки проекта MSBuild" установлено значение "Диагностика". Вы можете найти это в Инструментах → Параметры → Проекты и решения → Сборка и запуск.

Восстановите тестовый проект, и теперь ваше окно вывода должно быть заполнено информацией, включая любые сбои для подделок

Ответ 4

Удаление папки Поддельные устраняет эту проблему.

Ответ 5

Ты не поверишь этому, но мне удалось снова подделать подделки, просто добавив новую строку в файл, удалив эту новую строку и сохранив фактически немодифицированный файл. После следующей сборки все было в порядке.

Вещи, которые заставляют вас идти... хм...