Есть ли у меня какая-то странная настройка, которая делает это? Я только хочу изменить текст окна сообщения (и никакие другие сборки не зависят от этого), но VS перестраивает все мои проекты, и это берет навсегда. Любые идеи?
Почему VS приходится перестраивать ВСЕ мои проекты каждый раз, когда я нажимаю "Играть"?
Ответ 1
Вы можете исключить проекты из своей общей сборки через меню сборки.
Build- > Configuration Manager- > Снимите отметки с проектов, которые вы не хотите всегда создавать.
Это может значительно ускорить время сборки, только строя проекты, которые абсолютно необходимо строить каждый раз.
Обратите внимание, что вам придется создавать проекты, которые вы не выбрали независимо (щелкните правой кнопкой мыши- > Построить на проекте и т.д.), если их нужно перестроить.
Вы также можете настроить альтернативные конфигурации сборки, чтобы вы могли смешивать и сопоставлять то, что будет создано, когда.
Ответ 2
Вы можете узнать, что заставляет Visual Studio думать, что каждый проект устарел, а затем напрямую адресуйте проблему.
- Выберите Tools- > Options- > Projects and Solutions- > Build and Run.
- Для параметра "Объём вывода сборки проекта MSBuild:" выберите "Диагностика".
- Построить.
В окне вывода вы получите огромное количество результатов, подробно описывающих, что делает сборка. Перед созданием каждого проекта он распечатает, почему он считает, что он устарел. Пример такого вывода:
Project 'Foo' is not up to date. Input file 'c:\Bar.cs' is modified after output file
Эти "не обновленные" сообщения должны указывать на настоящую причину ненужных сборок, которые вы можете исправить.
Ответ 3
Там есть ограниченный контроль над этим без использования конфигураций, если вы проверяете возможность создавать только проекты запуска и зависимости от Run.
Инструменты → Параметры → Проекты и решения → Сборка и запуск → Создавать только проекты запуска и зависимости от Run
Ответ 4
Кнопка воспроизведения - это функция начала отладки.
Да, Visual Studio спросит каждый проект в решении для сборки в этот момент. Но примечание о том, чтобы строить и фактически строить, это разные вещи. Прося, чтобы строить просто говорит, собирается сделать что-то построить снова, если вы хотите. Затем MsBuild проведет небольшую проверку под капотом и решит, должен ли он фактически создать базовый проект.
Если ваш проект действительно строится, может возникнуть какая-то другая проблема. Можете ли вы дать нам дополнительную информацию, такую как язык, тип проекта и т.д....
Ответ 5
Также возможно изменить настройку "Вкл. Выкл., когда проекты устарели" до "Никогда не строить" вместо "Спросить". (его в меню "Инструменты → Параметры → Проекты и решения → Сборка и запуск) Таким образом, вам нужно будет нажимать F6 каждый раз, когда вы делаете изменения для создания устаревших проектов, но по крайней мере это позволит вам отлаживать F5 без перекомпиляции.
Я должен сказать, что это не идеально, но это что-то. Был один вопрос, хотя я использовал при использовании casini: приложение не перерабатывалось каждый раз, когда я нажимаю F5, потому что casini продолжает работать. Вам придется вручную остановить casini от icontray, когда вы столкнетесь с проблемами, но это важная экономия времени, в отличие от восстановления всего сайта.
Ответ 6
Кнопка "Воспроизвести", вероятно, не так, как вы думаете, или у вас есть инкрементная привязка и т.п. отключены в настройках проекта.
Ответ 7
Существует много возможных причин, почему это происходит. Например, у вас могут быть круговые зависимости или ресурс с свойством "Копировать всегда".
У меня есть сообщение в блоге по этому вопросу, объясняющее причины, по которым это может произойти, и как их исправить.