2009-05-30 5 views
1

У нас есть несколько проектов, библиотек и решений C# (несколько приложений asp.net, несколько библиотек классов, оконные приложения, такие как службы Windows и приложения winform и т. Д.), Которые в большинстве случаев зависят от каждого другие выводят DLL. Некоторые из наших проектов сгруппированы в решения, и они используют зависимость проекта. Но некоторые проекты - нет. Мы, к сожалению, используем VSS для управления источником. При обращении к сборкам в проект иногда я вижу обновленные файлы, хранящиеся в vss, но фактическая dll никогда не наступает, когда вы сначала получаете последнюю версию, иногда просто сборки, но не vss, а просто сборки, и они, похоже, управляются vss. Как вы можете догадаться, это кошмар для управления этими файлами для нас, особенно при публикации веб-приложений. мы никогда не уверены, что последние версии библиотек библиотеки публикуются. Можете ли вы посоветовать какие-либо рекомендации по управлению этой сложностью? Любые статьи приветствуются. Должны ли мы хранить все библиотеки в сетевой папке и использовать файлы обновления? Итак, каждый разработчик в команде должен скопировать свой выходной файл на этот сетевой ресурс?visual studio.net dll reference problems

Спасибо, Умут

ответ

2

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

Таким образом, если DLL обновляется, это так же просто, как Check Out - Overwrite - Check In, и все члены команды могут иметь последний файл.

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

1

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

Более жесткий и менее ручной подход заключается в реализации некоторой формы автоматизации сборки. Я бы посоветовал взглянуть на MSBuild (http://msdn.microsoft.com/en-us/library/0k6kkbsd.aspx), который использует XML-файлы как своего рода язык сценариев. Загрузите пакет Community Tasks (http://msbuildtasks.tigris.org/). С помощью этих двух инструментов вы сможете сгенерировать файл MSBuild, который получает ваши различные решения из sourcesafe, а затем создает их (обратите внимание, что вы можете вызывать файл MSBuild из файла MSBuild. Также обратите внимание, что файл решения Visual Studio является файлом MSBuild - у вас может быть сценарий MSBuild, который просто запускает сборку, которую разработчики создавали в Visual Studio). Как только это будет сделано, вы сможете развернуть результат везде, где захотите.

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