Visual Studio 我可以发布私有NuGet包吗?

r7xajy2e  于 2023-10-23  发布在  其他
关注(0)|答案(5)|浏览(151)

我有一个大会,我已经作出了这是非常具体的我的团队在我的公司。我希望能够使用NuGet使此程序集可用于我的团队和我公司的类似团队正在进行的其他项目。然而,程序集并不是我想与世界分享的真正代码。
我知道使用Maven,您可以从本地repo创建本地存储库和源代码包。NuGet是否支持类似功能?NuGet有没有办法指定本地仓库或私有包?

daupos2t

daupos2t1#

是的!您可以托管自己的NuGet服务器!
最简单的方法是在服务器上创建一个共享文件夹,并将其引用为Nuget Server。
您可以在以下位置找到有关如何执行此操作的更多信息:Hosting Your Own NuGet Feeds

pengsaosao

pengsaosao2#

托管自己的NuGet服务器的另一种选择是使用JetBrains TeamCity作为构建服务器。设置描述为here
Team City服务器充当NuGet存储库,只能/可以/应该在您的公司内部访问。
根据您的使用情况,该软件有免费版本。
它有一些不错的选项,例如能够按需发布新的NuGet版本,以及每个新的持续集成构建等。最有用的一点(与所有NuGet服务器实现一样)是它会保留几十个旧版本的程序集,所以如果你有一个项目需要引用最新版本,另一个项目需要引用旧版本,一切都会解决。

oo7oh9g9

oo7oh9g93#

查看ProGet free edition;我们就是为了这个目的而建造的。它需要更少的时间来设置,并提供了许多超出标准NuGet服务器的功能,例如多个提要,提要聚合和其他存储库类型(npm,Bower等)。
如果你想为企业版付费,你还可以使用LDAP进行身份验证,以及通过名称/许可证从连接的提要中过滤提要的能力(即,NuGet的官方饲料)。

mtb9vblg

mtb9vblg4#

是的,你可以有当地的饲料。这是非常简单的设置,take a look here
MyGet是流行的托管私人饲料。它不是免费的,但是看看their pricing,也许它很适合你!

oknwwptz

oknwwptz5#

使用github action在github nuget中发布:

步骤1.在 *.csproj文件中更新软件包版本

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFramework>net6.0</TargetFramework>
    <ImplicitUsings>enable</ImplicitUsings>
    <Nullable>enable</Nullable>      
    <Version>1.0.0</Version>        <-- Very important!!!
    <Authors>Team-Bolivia</Authors>
    <Company>Bolivia-Tech</Company>
    <Description>Library to bla bla bla..</Description>
    <RepositoryUrl>https://github.com/<owner|org>/<project_name></RepositoryUrl>
  </PropertyGroup>

</Project>

步骤2.创建操作:

name: Publish Bolivia Package
runs-on: ubuntu-latest
permissions:
  contents: read
  packages: write # permission for the github token
steps:
  - uses: actions/checkout@v3
  - uses: actions/setup-dotnet@v3
    with:
      dotnet-version: '3.1.x' # No change it
      source-url: https://nuget.pkg.github.com/<owner|organization>/index.json
    env:
      NUGET_AUTH_TOKEN: ${{secrets.GITHUB_TOKEN}}
  - name: Build project
    run: dotnet build --configuration Release
  - name: Create the package
    run: dotnet pack --configuration Release
  - name: Publish the package to GPR
    run: dotnet nuget push bin/Release/*.nupkg

相关问题