Visual Studio Project зависимости - PullRequest
3 голосов
/ 27 октября 2011

У меня есть решение Visual Studio .Net, в котором есть много проектов / библиотек.

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

Иногда проблема заключается в том, что другие разработчики, которым время от времени требуется работать или смотреть на мой код, сталкиваются с огромной проблемой перекомпиляции всего.

В диспетчере конфигурации у меня не проверены все проекты, в противном случае сборка может занять слишком много времени.

Проблема заключается в том, что когда решение компилируется в другом приложении, некоторые из сообщенных ошибок говорят о том, что в конкретной библиотеке произошла ошибка, и требуется слишком много времени, чтобы выяснить все зависимости, компилирующие каждую в отдельности.

Даже при проверке всего в диспетчере конфигураций он все равно выглядит неправильно.

Я думал, что когда вы добавляете ссылку на библиотеку, о зависимости заботятся.

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

Спасибо

Ответы [ 2 ]

2 голосов
/ 27 октября 2011

После того, как другие разработчики получили новые исходные коды от вас, они должны закрыть Visual Studio и снова открыть решение.

Иногда в Visual Studio также возникают проблемы с зависимостями.Сначала попробуйте следующие команды меню:

Build > Clean Solution
Build > Rebuild Solution

Это покажет вам, какие зависимости являются циклическими или не правильными.Кроме того, в проекте Visual Studio не должен зависеть от другого, который создает исполняемый файл (по крайней мере, для нашего чисто написанного на C ++ проекта это действительно так).Т.е. проект «Utils», который компилируется в «Utils.dll», не может зависеть от проекта «MyApp», который экспортирует некоторые функции или символы и компилирует в и MyApp.exe и MyApp.lib (или некоторый другой видмонтаж).Если у вас есть такая зависимость, вы должны правильно настроить порядок сборки проекта и вручную установить MyApp.lib, как во входных данных компоновщика.

1 голос
/ 27 октября 2011

Вы можете упаковать и распространить свои сборки, используя http://nuget.codeplex.com/. Это сделано для решения этой проблемы.

...