Git:如何管理 C# 库的依赖关系? [关闭]
Posted
技术标签:
【中文标题】Git:如何管理 C# 库的依赖关系? [关闭]【英文标题】:Git: how manage dependences for your C# libraries? [closed] 【发布时间】:2020-12-13 20:49:55 【问题描述】:我在 Rider 中编写 C# 应用程序,并且有几个自己编写的库。这些库构建为 .netcore 项目。 但是有一个库使用了另一个我的库,它被构建为解决方案。
我真的不知道如何在我的其他项目中使用它?我只是通常将我的 lib 项目克隆到解决方案文件夹中。但是这个库也是完整的解决方案。
你在工作中如何解决同样的问题?
【问题讨论】:
【参考方案1】:您可以将其构建为 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复制。
构建项目后,您会在“\bin\Debug”中找到 .nupkg
如果您想将其上传到 NuGet.org:
-
在 nuget.org 中注册一个帐户
上传你的包并按照那里的步骤,比如添加自述文件等等,非常简单的步骤。
需要这个库的项目,在项目上右击-->管理NuGet包,添加这个包。
如何将本地 Repo 添加为 NuGet 源?!
请看这篇文章: How do I install a NuGet package .nupkg file locally?
【讨论】:
如果我理解正确,我应该将所有依赖项转换为 nuget 包,然后将 subj 库也转换为 nuget 包,但将另一个库链接为 nuget 依赖项? @MaxLevs NuGet 包在字符串验证器等可重用组件(实用程序)的情况下有效。 @MaxLevs 如果您的可重用组件类似于 DAL 层等,我认为这不是很好的选择 @MaxLevs 但如果库始终使用相同的输入和输出,仍然是不错的选择 @MaxLevs 我回答你的问题了吗?以上是关于Git:如何管理 C# 库的依赖关系? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章