Я пишу приложения на C# в Rider, и у меня есть несколько собственных библиотек. Эти библиотеки созданы как проекты .netcore. Но есть одна библиотека, которая использует другую мою библиотеку, и она построена как решение.
И я действительно не знаю, как я могу использовать его в своих других проектах? Я просто обычно клонирую свой проект lib в папку Solution. Но эта библиотека тоже является целым решением.
Как вы решаете ту же проблему в своей работе?
Вы можете собрать его как пакет NuGet (используйте его с локального диска или загрузите на NuGet.Org и используйте оттуда)
Сделать это:
Запустите библиотеку классов (.Net Standard или .Net Core)
Настройте свой файл .csproj
следующим образом: (пример netcoreapp3.1)
<Project Sdk = "Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<Description>Any description here</Description>
<Authors>Your name here</Authors>
<Company />
<PackageProjectUrl>your git hub repo link</PackageProjectUrl>
<RepositoryUrl>your git hub repo link</RepositoryUrl>
<RepositoryType>git</RepositoryType>
<PackageTags>any keywords here with spaces NOT comma</PackageTags>
<InludeSymbols>true</InludeSymbols>
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
<PackageLicenseFile>License.md</PackageLicenseFile>
<Version>1.0.2</Version>
</PropertyGroup>
<ItemGroup>
<None Include = "..\..\License.md">
<Pack>True</Pack>
<PackagePath></PackagePath>
</None>
</ItemGroup>
</Project>
Для этого Include = "..\..\License.md"
вам нужно добавить License.md, вы можете найти его в Интернете или скопировать с вашего github.
После сборки проекта вы найдете .nupkg в "\bin\Debug"
Если вы хотите загрузить его на NuGet.org:
Как добавить локальное репо в качестве источника NuGet?!
Смотрите эту статью: Как мне локально установить пакет NuGet .nupkg?
Пакеты @MaxLevs NuGet эффективны в случаях повторно используемых компонентов (утилит), таких как средства проверки строк и т. д.
@MaxLevs, если ваш повторно используемый компонент похож на слой DAL и т. д., Я не думаю, что это будет хороший выбор.
@MaxLevs, но если библиотека всегда использует одни и те же входы и выходы, все равно хороший выбор
@MaxLevs я ответил на твой вопрос?
@MaxLevs, библиотеку какого типа вы хотите использовать между проектами, объясните, пожалуйста.
Это парсер для некоторой грамматики
@MaxLevs, это здорово, поэтому ввод представляет собой строку, а вывод известен (логическое значение, список ошибок и т. д.), что означает, что вы можете создать свою собственную библиотеку (NuGet). сделать это, если вы застряли. задайте вопрос с проблемой и снова поможет.
Большое спасибо. сейчас изучаю nuget
Если я правильно вас понимаю, я должен превратить все зависимости в пакеты nuget, а затем превратить библиотеку subj в пакет nuget, но связать другие библиотеки как зависимости nuget?