none
Проверка бинарных файлов перед сборкой RRS feed

  • Вопрос

  • Вопрос отновится не только к Visual Studio, но и к MsBuild (по большей части к msbuild). В моей системе бинарные файлы, которые получаются после сборки проекта могут изменяться независимо от кода(банальный апдейт ветки разработки). Когда такое происходит, студия и MsBuild не понимают что dll/exe уже другие, если нажимать Build или запускать сборку непосредственно в msbuild, линковка не происходит.

    Мне нужно, чтобы msbuild проверял бинарные файлы на "правильность" при каждом нажатии запуске сборки. Не представляю как это можно сделать... В данный момент использую костыль - скрипт, который удаляет все dll\exe и заставляет перелинковывать проекты. Это не очень удобно (и довольно медленно)

    24 августа 2021 г. 8:15

Ответы

  • Если вызывать в командной строке, можно так: 

    msbuild -t:Clean;Build MyProject.vcxproj

    А вот в студии не нашел, как заставить ее автоматически выполнять Clean перед Build. DefaultTargets не учитывается... Впрочем, можно просто нажимать "Пересобрать".

    >банальный апдейт ветки разработки

    Речь о системе контроля версий? Можно игнорировать бинарные файлы в системе контроля версий, тогда проблемы не будет.

    25 августа 2021 г. 3:24

Все ответы

  • Здравствуйте,

    Ничего конкретного найти не удалось, возможно кроме обходного пути не имеется другого варианта. Как вариант можете попробовать отправить как проблему через саму студию: How to report a problem for Visual Studio and Visual Studio Installer (насколько я понял, она тоже не видит изменений), но гарантии решения нет


    Если Вам помог чей-либо ответ, пожалуйста, не забывайте жать на кнопку "Предложить как ответ" или "Проголосовать за полезное сообщение" Мнения, высказанные здесь, являются отражение моих личных взглядов, а не позиции корпорации Microsoft. Вся информация предоставляется "как есть" без каких-либо гарантий.

    24 августа 2021 г. 16:25
    Модератор
  • Если вызывать в командной строке, можно так: 

    msbuild -t:Clean;Build MyProject.vcxproj

    А вот в студии не нашел, как заставить ее автоматически выполнять Clean перед Build. DefaultTargets не учитывается... Впрочем, можно просто нажимать "Пересобрать".

    >банальный апдейт ветки разработки

    Речь о системе контроля версий? Можно игнорировать бинарные файлы в системе контроля версий, тогда проблемы не будет.

    25 августа 2021 г. 3:24
  • Да, можно, однако не хотелось возиться с svn.

    Но, судя по всему придется. Спасибо за ответ.

    25 августа 2021 г. 5:34