Я пытаюсь предотвратить Visual Studio
от переопределения моей двоичной папки проекта, который не предполагается использовать во время сборки. Воображение следующей структуры решения:Visual Studio обновляет двоичные файлы проекта, который не предполагается строить
App1 -> LibB -> LibA
Каждый раз, когда я пытаюсь построить проект LibB
(сборка/восстановление) заменяет LibA.dll
в моей бинарной папке App1
. Реальная проблема заключается в другой версии LibA.dll
, используемой App1
и LibB
. Визуализации У меня есть еще один проект: App2
App1 -> LibB (v2) -> LibA (v2) App2 -> LibB (v2) -> LibA (v2) LibB (v2) -> LibA (v1)
И теперь каждый раз, когда я строить App1
проект он разрушает бинарную папку моего App2
проекта, потому что, когда проект LibB
построен он двигается LibA.dll (v1)
моих App2
бинарным которая не ожидается.
ps # 1: Я не могу обновить LibB (v2)
, чтобы использовать LibA (v2)
только потому, что это упрощенное описание проблемы, и есть много зависимостей, подобных описанным выше. Предположим, это будет мое долгосрочное решение.
пс # 2: Если вы пытаетесь построить LibB
проекта будет обновлять App1
и App2
бинарные папки с LibA.dll (v1)
и разрушить оба приложения проектов.
ps # 3: Я воссоздал тестовое решение с аналогичной моделью зависимостей, и оно отлично работает, поэтому проблема с существующим решением, которое я пытаюсь исправить.
Как я могу предотвратить Visual Studio
от обновления родительского проекта при создании дочернего проекта?
Некоторые случайные точки. Если вы посмотрите в диспетчере конфигурации сборки, это все та же платформа, что и x86 или любой процессор. Помимо нормальных зависимостей проекта, один из ваших проектов может явно переназначить старый LibA (v1) и скопировать его в явном виде, например «Включить в проект», и вам действительно хотелось, чтобы ссылка включалась через зависимость проекта. Если вы ищете имя lib в виде строки в фактическом файле проекта и решения, вы можете увидеть «принудительную» ссылку odball или даже ссылку «Связанные». Я видел это с Winforms, которые были действительно в двух проектах одновременно. –