2010-06-20 2 views
0

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

Теперь у меня есть это консольное приложение, которое я создаю, и у меня есть проект библиотеки классов, где я пишу модульные тесты в 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, и я получаю диалог, в котором говорится: «Невозможно добавить ссылку». Поэтому я вернул его обратно к шаблону по умолчанию для визуальной студии.

UPDATE: я зарегистрировал это как ошибка с Microsoft Connect here.

+0

Вы пытались настроить зависимости сборки? http://s3.amazonaws.com/floomby/6_20_2010/DrTo9AZkGkiZsRp8uP84Ew.jpg – Restuta

+0

@Restuta Да. Зависимости сборки уже установлены в Свойствах решения. Я просто заметил, что флажок «Построить» не был проверен в свойствах решения, хотя (странно, что вы думаете, что по умолчанию он будет проверен). Проверка, похоже, является решением. – Adam

ответ

4

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

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

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

+0

Он проверял по умолчанию в моем VS, пытались ли вы создать новое решение и новый проект и исследовать, проверено ли оно или нет? – Restuta

+0

@Restuta Это очень странно. Он проверяет его по умолчанию, когда я создаю _new_ решение и сразу же добавляю проекты. Он _NOT_ проверяет его по умолчанию, когда я добавляю новый проект консольного приложения в мое существующее решение (ранее решение VS2008 было обновлено до 2010 года) – Adam

Смежные вопросы