Почему мой проект не перестраивается и ссылки в моих модульных тестах не обновляются при нацеливании на x86? - PullRequest
0 голосов
/ 20 июня 2010

У меня есть консольное приложение, созданное в VS 2010 и предназначенное для .NET 4.0.По словам Microsoft (Рик Байерс) AnyCPU больше не используется по умолчанию для консольных приложений, потому что, с точки зрения Microsoft, они чувствуют , как будто лучше по умолчанию использовать x86.Кроме того, возможность изменить платформу на AnyCPU или x64 в этом отношении, по-видимому, недоступна.

Теперь у меня есть это консольное приложение, которое я создаю, и у меня есть проект библиотеки классов, в котором я пишу модульные тесты в NUnit (я практикую TDD).Итак, проблема в том, что когда я иду, чтобы реализовать код для прохождения моих тестов, они все равно терпят неудачу.Через некоторое время я обнаружил, что это происходит потому, что (даже когда я делаю это на уровне решения), когда проект перестраивается, он не перестраивает проект консольного приложения.Это приводит к тому, что ссылка не обновляется в моих модульных тестах, что, конечно, означает, что мой тест выполняется со старым кодом, а не с недавно реализованным кодом.Большая проблема.

В настоящее время я вынужден щелкнуть правой кнопкой мыши консольное приложение и выбрать перестроить, затем щелкнуть правой кнопкой мыши тестовый проект и выбрать перестраивать КАЖДЫЙ раз, прежде чем запускать тесты.Это очень раздражает.

Итак, вернемся к вопросу, как заставить VS2010 перестроить мое консольное приложение и автоматически обновить ссылку в моей библиотеке классов, как это делалось в более старых версиях Visual Studio?

Пожалуйста, не отвечайте «добавьте событие сборки, чтобы сделать это».Я очень хотел бы, чтобы Visual Studio просто работал, потому что я не хочу помнить, что мне нужно «добавлять событие сборки, чтобы сделать это» каждый раз, когда я создаю новое консольное приложение.

ПРИМЕЧАНИЕ:До сих пор я пробовал следующий обходной путь:

http://connect.microsoft.com/VisualStudio/feedback/details/455103/new-c-console-application-targets-x86-by-default

, который не работает для моего проекта модульного тестирования.Поэтому я попытался удалить ссылку и повторно добавить ее из Visual Studio, и я получил диалоговое окно с надписью «Невозможно добавить ссылку».Поэтому я вернул его обратно в шаблон Visual Studio по умолчанию.

ОБНОВЛЕНИЕ: я зарегистрировал это как ошибку в Microsoft Connect здесь.

1 Ответ

4 голосов
/ 20 июня 2010

Щелкните правой кнопкой мыши Solution и выберите Configuration Manager. Найдите консольное приложение в списке и установите флажок «Сборка». (Неясно для меня, как это не по умолчанию, чтобы проверить).

Решает мою проблему. Теперь все работает так, как я хочу.

Если есть лучшее решение, или если кто-то знает способ сделать это по умолчанию, чтобы проверить это для меня, я был бы признателен за ответ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...