Чтобы решить эту проблему, NuGet пригодится
Это позволяет легко интегрировать любую комбинацию DLL, файлов JavaScript или любой другой вещи, которую вы можете придумать, в проект. Даже если все, что вы хотите поделиться - это настраиваемый набор классов Entity Framework в одной DLL, разработчику легче добавить эту DLL в свой проект через NuGet, чем искать эту DLL в некотором общем файловом ресурсе. Кроме того, NuGet позволяет вам предоставлять доступный для поиска текст описания вашего пакета, чтобы разработчик, использующий диспетчер пакетов NuGet из Visual Studio, мог знать, что он собирается добавить в свой проект. NuGet даже упрощает жизнь разработчика, когда он хочет перейти на более новую версию вашего пакета: он просто выбирает вкладку «Обновление» в диспетчере пакетов NuGet, чтобы узнать, какие пакеты в его проекте имеют более новые версии.
В вашем случае предположим, что у вас есть 2 решения, которые используют один и тот же набор кода, что вам нужно сделать:
1) Создайте оригинальный пакет из вашей общей души
2) упаковать его
3) Опубликуйте свое решение
Таким образом, вы получите больший контроль над своим решением, даже если вы не хотите обновлять фид Nuget с помощью другого решения
Вот как вы можете создать пакет Nuget
Хотя вы можете создать пакет NuGet из командной строки, ввод неясных команд не является моим первым выбором - я предпочитаю использовать графический интерфейс. Если вы предпочитаете это, то первым делом загрузите NuGet Package Explorer . После загрузки Package Explorer он автоматически откроется (вы также найдете его в меню «Пуск» в NuGet Package Manager, когда захотите использовать его снова).
NuGetPackage Manager Explorer делит свой экран на две части: слева находится панель, отображающая документацию пакета (помеченная как «Метаданные пакета»), а справа - панель со списком файлов в вашем пакете (помеченная как «Содержимое пакета»). Чтобы начать создавать новый пакет, выберите «Новый» в меню «Файл». После этого вы можете использовать любую панель, но я бы посоветовал вам начать с метаданных пакета слева, введя документацию, которую разработчик увидит, когда он выберет ваш пакет из диспетчера пакетов NuGet. Я рассуждаю так: если вы начнете с документации, у вас будет возможность пересмотреть ее после того, как вы добавите свои файлы в свой пакет и лучше поймете, из чего состоит ваш пакет.
Чтобы создать документацию вашего пакета, щелкните значок документа в верхнем левом углу панели метаданных пакета. Хотя есть много информации, которую вы можете ввести, четыре важных элемента:
Id (который должен быть уникальным)
Авторы (список авторов пакета через запятую)
Название
Описание
Заголовок и описание - это то, что разработчики увидят в диспетчере пакетов NuGet, поэтому вы хотите предоставить всю информацию, которая может понадобиться разработчикам для поиска вашего пакета, его распознавания и понимания того, что он делает. При желании вы также можете ввести в текстовое поле «Теги» любые ключевые слова, которые разработчики могут использовать при поиске вашего пакета, которые не отображаются в заголовке или описании. Чтобы сохранить изменения, нажмите зеленую галочку в верхнем левом углу панели метаданных пакета.
Создание пакета nuget
Когда разработчик добавляет ваш пакет в свой проект, он хочет, чтобы компоненты вашего пакета помещались в нужные папки в его проекте. Поэтому вашей первой задачей при добавлении файлов в ваш пакет является добавление этих папок в ваш пакет. Например, я хочу, чтобы мой файл JavaScript помещался в папку Scripts проекта в подпапке с именем PHVIS. Чтобы добавить эту структуру папок в мой пакет, мне сначала нужно добавить запись содержимого на панель «Содержимое пакета». В меню «Содержимое проводника пакетов» выберите «Добавить | Новая папка, и в подменю я выбираю Контент. Запись содержимого появится на панели содержимого пакета.
С этой записью я готов добавить структуру папок для моего файла JavaScript. На панели содержимого пакета я щелкаю правой кнопкой мыши на элементе содержимого, выбираю Добавить | Новая папка и в появившемся диалоговом окне перед тем, как нажать кнопку ОК, присвойте папке имя «Сценарии» После того, как папка Scripts появится под записью содержимого, я щелкну по ней правой кнопкой мыши и выберу Add New Folder, чтобы добавить папку PHVIS. Наконец, я щелкаю правой кнопкой мыши папку PHVIS, выбираю «Добавить существующий файл», захожу в свой проект, нахожу свой файл JavaScript и дважды щелкаю по нему, чтобы добавить его в содержимое моего пакета. Теперь, когда разработчик добавляет мой пакет в свой проект, он найдет этот файл JavaScript в папке Scripts / PHVIS своего проекта.
При желании вы также можете перетащить файлы из проводника Windows на панель содержимого пакета. Если вы это сделаете, Package Explorer примет наилучшее решение о том, в какую запись должен входить файл. Если, например, я перетаскиваю библиотеку DLL для моего HtmlHelper из проводника Windows и перетаскиваю ее на панель «Содержимое пакета», в проводнике пакетов появляется диалоговое окно с вопросом, хочу ли я добавить библиотеку DLL в папку lib. Поскольку я делаю это, я просто принимаю предложенный выбор: моя DLL появляется на панели содержимого пакета, вложенной в запись lib. Я мог бы сделать то же самое с моим файлом JavaScript, если бы не хотел управлять папкой и подпапкой, в которой находился файл.
Если вы обнаружите, что ваши папки неправильно вложены в панель содержимого пакета, вы можете перетащить их туда, куда вы хотите. Если вы хотите проверить, что все ваши пакеты находятся во всех нужных папках, в меню Файл проводника пакетов выберите «Экспорт» и выберите папку в появившемся диалоговом окне «Выбрать папку». Package Explorer распакует ваш пакет в эту папку для просмотра.
Добавление источника nuget
Теперь пришло время сохранить ваш пакет где-нибудь, чтобы вы (и другие разработчики) могли его найти. Самое простое решение - указать Visual Studio использовать папку в общем сетевом ресурсе при поиске пакетов NuGet. Это та часть процесса, где вам понадобится сотрудничество с другим разработчиком, потому что он должен будет рассказать своей Visual Studio о вашей новой папке. Вам также необходимо сохранить пакет в эту папку, используя параметр «Сохранить» в меню «Файл» диспетчера пакетов.
Чтобы получить копию Visual Studio для поиска пакетов NuGet в новой папке, в меню «Сервис» выберите «Параметры». Затем из левого списка в появившемся диалоговом окне разверните вариант диспетчера пакетов NuGet, чтобы отобразить запись «Источники пакетов». Выберите эту запись, и вы увидите текущий список источников пакетов в правой части диалогового окна «Параметры» (вы также можете перейти к этому диалоговому окну из диалогового окна «Управление пакетами NuGet») - просто нажмите кнопку «Настройки» в левом нижнем углу. что вы игнорировали).
Чтобы добавить папку пакета NuGet в Visual Studio, нажмите кнопку со знаком плюс в правом верхнем углу диалогового окна. Это добавляет новый исходный элемент в список, уже заполненный некоторыми значениями по умолчанию. Чтобы обновить эти записи по умолчанию, убедитесь, что выбран новый источник, и введите свои значения в текстовые поля в нижней части диалогового окна. Вам нужно дать вашему источнику имя (например, источник пакета PHVIS) и источник, который представляет собой полный путь к папке пакета вашего NuGet (например, C: \ NuGet).
Теперь в диалоговом окне «Управление пакетами NuGet» в Visual Studio вы найдете свой новый источник пакетов, указанный на вкладке «Онлайн». При выборе источника будут перечислены все пакеты в папке. Если вы выберете опцию Все, вы даже обнаружите, что ваш пакет смешан в результирующий список с пакетами из обычных источников NuGet. Когда вы выберете пакет и нажмете «Установить», ваш пакет будет добавлен в текущий проект.
Надеюсь, это поможет. Пожалуйста, свяжитесь со мной, если вы хотите обсудить дальше.