2015-01-16 2 views
0

Я создаю проект веб-приложения и хочу ссылаться на несколько dll с рабочего стола C#. Оба проекта довольно большие.Как лучше всего рассылать dll C# в веб-приложении?

Это все выросло органично, поэтому то, что мы сделали до сих пор, включает проекты dll в решении для веб-приложений, что упрощает отладку. Поэтому на данный момент весь наш код (настольные приложения и веб-приложения) сидят в одном большом репозитории git, и мы создаем веб-приложение и копируем код на веб-сервер через Jenkins.

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

Я просто хочу получить представление о том, как лучше всего управлять кодом: - Как лучше всего использовать DLL на рабочем столе C# в решении для веб-приложений? - Есть ли способ по-прежнему отлаживать DLL, если я не включаю проекты dll в веб-приложение (при отладке веб-приложения)? - Как сохранить dll в решении для веб-приложений в актуальном состоянии (скажем, если я поместил их в папку bin)? - Есть ли способ не включать DLL в репо, но Дженкинс перестроить и скопировать DLL?

ответ

1

Вы можете разместить свои общие библиотеки DLL в формате nuget в своем двоичном формате и ссылаться на них как на рабочий стол, так и на веб-приложение.

Я не знаю о части Дженкинса, но быстрый google сказал, что есть , который поддерживает nuget.

Creating nuget packages - это простой и простой процесс с добавлением некоторых метаданных о nuget в файле nuspec и вызовом nuget.exe с некоторыми параметрами для создания пакета (nupkg) для вас, который вы можете позже ссылаться в своем проекте ,

Hosting nuget packages, которые будут найдены и использованы позже, вам нужно будет создать фид. это может быть так же просто, как хранить файлы в папке где-то и настраивать инструменты сборки (визуальная студия, MSBUILD и т. д.), где искать файлы nuget.

ссылка на nuget выполняется в визуальной студии через плагин nuget package manager.

+0

Неплохая идея. Может ли пакеты nuget быть приватными, хотя? –

+0

Да, если они размещены в вашем приватном канале nuget (который может быть только папкой в ​​вашем репозитории или общем сетевом пути) – Bishoy

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