【问题标题】:Git: how manage dependences for your C# libraries? [closed]Git:如何管理 C# 库的依赖关系? [关闭]
【发布时间】:2020-12-13 20:49:55
【问题描述】:

我在 Rider 中编写 C# 应用程序,并且有几个自己编写的库。这些库构建为 .netcore 项目。 但是有一个库使用了另一个我的库,它被构建为解决方案。

我真的不知道如何在我的其他项目中使用它?我只是通常将我的 lib 项目克隆到解决方案文件夹中。但是这个库也是完整的解决方案。

你在工作中如何解决同样的问题?

【问题讨论】:

    标签: c# git .net-core rider


    【解决方案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:

    1. 在 nuget.org 中注册一个帐户
    2. 上传你的包并按照那里的步骤,比如添加自述文件等等,非常简单的步骤。
    3. 需要这个库的项目,在项目上右击-->管理NuGet包,添加这个包。

    如何将本地 Repo 添加为 NuGet 源?!

    请看这篇文章: How do I install a NuGet package .nupkg file locally?

    【讨论】:

    • 如果我理解正确,我应该将所有依赖项转换为 nuget 包,然后将 subj 库也转换为 nuget 包,但将另一个库链接为 nuget 依赖项?
    • @MaxLevs NuGet 包在字符串验证器等可重用组件(实用程序)的情况下有效。
    • @MaxLevs 如果您的可重用组件类似于 DAL 层等,我认为这不是很好的选择
    • @MaxLevs 但如果库始终使用相同的输入和输出,仍然是不错的选择
    • @MaxLevs 我回答你的问题了吗?
    猜你喜欢
    • 2022-10-25
    • 1970-01-01
    • 2020-06-14
    • 1970-01-01
    • 1970-01-01
    • 2021-02-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多