Я хотів би знати
У проект C # або VB.NET слід включити папку PACKAGE (папку пакетів самородок, створену для кореня мого проекту, що містить файли nupkg та інший вміст) до нашого сховища джерела управління (наприклад, Git).
Я хотів би знати
У проект C # або VB.NET слід включити папку PACKAGE (папку пакетів самородок, створену для кореня мого проекту, що містить файли nupkg та інший вміст) до нашого сховища джерела управління (наприклад, Git).
Відповіді:
Минуло багато часу, і NuGet змінився, тож ось нова відповідь.
NuGet більше не створює папку пакунків всередині вашої структури джерела. Натомість, у вашому користувальницькому каталозі є один ( %HOME%\.nuget\packages
щоб бути конкретним), куди він розміщує всі завантажені ним пакети, а проекти просто посилаються на них.
Тож проста відповідь у ці дні - ні, ви не повинні. Якщо ви турбуєтесь про те, що пакунки зникають, вам слід створити локальне дзеркало NuGet, яке ви резервно копіюєте окремо.
Це залежить.
Перевірте відповідь Барта ван Інген Шенау, щоб визначити, чи можна packages
взагалі ігнорувати папку.
В основному: так, NuGet розроблений так, що ви можете ігнорувати packages
папку, і NuGet витягне все з Інтернету, якщо його немає.
Але чи варто це ігнорувати? Я кажу: це залежить.
IMO - це питання "чи можна продовжувати роботу, якщо сховище пакетів недоступне" (тимчасово чи постійно)
Для моїх особистих проектів OSS у мене packages
папка проігнорована у всіх.
Коли nuget.org офлайн, я просто зачекаю і продовжу ще один день.
Але це на роботі щось інше.
Звичайно, у вас, ймовірно, ще є пакети локально на якійсь машині, але ви економите місце, варті клопоту, коли ваші збірки порушуються, оскільки сервер збирання не може дійти до nuget.org?
Ми вирішили, що простір дешевий і ми не хочемо клопоту, тому ми робимо packages
папку для управління джерелами.
Основне правило того, що переходить у сховище управління джерелами, полягає в тому, що ви зберігаєте там усе, що стосується проекту, який вам потрібно мати можливість складати, тестувати, розгортати та виконувати проект і який неможливо генерувати з елементів, вже наявних у сховищі .
Іншими словами, якщо ви зможете викинути папку PACKAGE та її вміст, не впливаючи на вашу здатність продовжувати працювати над проектом (збірка може зайняти більше часу, але вам не доведеться самостійно шукати і встановлювати що-небудь), тоді папка може бути безпечно залишеним із сховища.
Якщо в папці містяться сторонні пакети, які можуть зайняти тривалий час для завантаження або можуть стати недоступними, то це може бути причиною додати їх до вашого сховища.