Проекты веб-сайтов, ссылки на проекты и контроль версий - PullRequest
3 голосов
/ 11 мая 2010

У меня есть проект веб-сайта ASP.NET, который имел свою логику в папке App_Code. Я вытащил часть кода в проект библиотеки классов (чтобы разрешить модульное тестирование) и добавил ссылку на проект. Он компилируется и работает нормально.

Проблема заключается в том, что единственный способ, которым проект веб-сайта представляет ссылку на проект (насколько мне известно), - это наличие скомпилированной библиотеки DLL в каталоге / bin. Я не хочу включать эти сгенерированные файлы в систему контроля версий (Subversion). Добавление файлов в список игнорируемых SVN - как я обычно это делаю с / bin dll - не вариант, потому что я теряю ссылку на проект.

Итак, вопрос : есть ли способ сохранить ссылку на проект в проекте веб-сайта, кроме помещения dll в каталог / bin?

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

Ответы [ 2 ]

0 голосов
/ 28 февраля 2013

Я считаю, что ссылки сохраняются в файле решения для вас.

Для веб-сайтов в файле решения есть раздел:

Project("{GUID}") = "WebsiteName", "WebsiteName", "GUID"
    ProjectSection(WebsiteProperties) = preProject
        .... removed for brevity ...
        ProjectReferences = "{GUID OF REFERENCED PROJECTS}|ProjectName.dll"
        .... removed for brevity ...
    EndProjectSection
EndProject

Надеюсь, это поможет

0 голосов
/ 19 мая 2012

Вы можете попробовать создать пустое решение Visual Studio, затем добавить проект веб-сайта, а также новый проект для созданной вами библиотеки классов. Это немного на полпути, у вас может скомпилировать решение, чтобы проверить, что все в порядке, но на самом деле вам не нужно. Таким образом, вы сохраняете непринужденный стиль веб-сайта, но у вас есть возможность связывать проекты.

Затем вы можете сохранить проект библиотеки классов в том же хранилище и продолжить исключать скомпилированные dll из корзины веб-сайта. Если в вашей библиотеке классов вы поместите копию библиотеки DLL в папку 'libs' в корне репозитория, вы можете сослаться на нее на свой сайт.

Тогда ваша структура папок будет - ВашПроект -- Веб-сайт - Ваша библиотека классов - libs (сторонние библиотеки, включая вашу библиотеку классов) - тесты - все остальное

...