2015-04-28 2 views
0

У меня есть визуальное решение студии с несколькими проектамиVisual Studio 2013 порядок здания терпит неудачу с параллелями построить

Пусть говорят проект ядро, CoreExtended, Projecta и ProjectB.

- CoreExtended имеет ядро ​​зависимости.

- Проект A и ProjectB имеют в качестве зависимостей CoreExtended также Core.

Когда я пытаюсь построить с несколькими потоками, msbuild имеет проблему, потому что оба проекта ProjectA ProjectB пытаются получить Core и он терпит неудачу. Я пересмотрел все зависимости и порядок. Почему Visual Studio не защищает это и компилирует сначала ProjectA, а затем ProjectB? Почему другие проекты, кроме Core только как зависимость, не подрываются?

Очевидно, когда я строю только одну нить при ее правильной работе.

Заранее спасибо.

ответ

0

Когда-то у нас были некоторые подобные проблемы. Оказалось, что некоторые из проектов имеют один и тот же выходной каталог, который вызвал проблемы параллелизма.

+0

Это может быть возможность, так как все мои проекты копируют свою собственную папку bin в папку extern bin, где я запускаю приложение. Кроме того, dll, которые я использую для ссылки, являются скопированными в папку extern ... – isra60

+1

Вы можете уменьшить конфликты параллелизма, ограничив копирование содержимого bin только проектами, на которые не ссылаются другие проекты в вашем решении. Во-вторых, по ссылке от projectB to Core вы можете установить свойство «Скопировать местное» в значение false. Таким образом, только projectA копирует файл Core.dll в его bin, и он не конфликтует, когда содержимое файла projectB \ bin копируется во внешнюю папку вывода. –

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