Создайте старый проект для использования менеджера пакетов nuget и создайте файл package.config - PullRequest
0 голосов
/ 21 декабря 2018

В настоящее время я работаю над старым решением, которое ранее не использовало nuget для получения своих пакетов, но я пытаюсь добавить его в конвейер доставки программного обеспечения (управление исходным кодом git) и не удается восстановить пакеты.Как это работает, он восстанавливает пакеты в процессе сборки, и в моем случае он не может найти способ восстановить пакеты.Git Игнорирует папку bin и, следовательно, все пакеты не проверяются в системе контроля версий.Я могу удалить git ignore в папке bin, но перед этим я хотел убедиться, что есть простой способ добавить пакеты в файл package.config и восстановить их в процессе сборки.Суть в том, что я хочу, чтобы этот старый проект .Net 3.5 использовал Nuget вместо того, как он работает сейчас, ссылаясь на файл csproj из папки bin.

1 Ответ

0 голосов
/ 28 декабря 2018

Что бы я сделал:

  1. Удалить папку со всеми dll

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

  3. Откройте каждый файл проекта по одному в текстовом редакторе (или вы можете выгрузить проект в обозревателе решений VS изатем отредактируйте, но я нахожу более быстрым просто использовать VSCode) и удалить любую строку, начинающуюся с <Reference, а путь включения - это каталог bin, который вы удалили ранее (оставьте ссылки на .NET Framework).Вы можете установить MSB3106 как предупреждение, чтобы рассматривать его как ошибку, чтобы упростить поиск всех экземпляров

Если вы используете Visual Studio 2017, я рекомендую вам рассмотреть возможность использования PackageReferenceвместо пакетов .config.Есть несколько преимуществ , не говоря уже о том, что проекты в стиле SDK (необходимые для .NET Core) больше не поддерживают package.config.Я также рекомендую переключаться на проекты в стиле SDK, если это возможно, для типов проектов, которые могут (не все могут, но любые библиотеки классов и консольные приложения обычно могут без проблем).

...