Asp.net core 我制作了一个Nuget包,我在其他项目中使用它。每次更新时我都必须等待吗?

Asp.net core 我制作了一个Nuget包,我在其他项目中使用它。每次更新时我都必须等待吗?,asp.net-core,nuget,Asp.net Core,Nuget,我正在构建一个Azure函数,它依赖于我在Nuget上构建的另一个项目。每次更新nuget项目时,我都会将更新发布到。然后我等待验证。然后,我更新我的另一个项目以获取最新版本。等待验证真的很烦人。。。有时一天几次 有没有一种方法可以在不等待验证完成的情况下使用我的nuget包?请记住,我正在同一台笔记本电脑上并排开发这两个软件包。高效完成这项工作有三个层次: 尽可能使用项目引用而不是包引用在同一解决方案中进行本地开发。正如zivkan在评论中所说,这种“内部循环”是最快的。执行此操作直到需要测试

我正在构建一个Azure函数,它依赖于我在Nuget上构建的另一个项目。每次更新nuget项目时,我都会将更新发布到。然后我等待验证。然后,我更新我的另一个项目以获取最新版本。等待验证真的很烦人。。。有时一天几次


有没有一种方法可以在不等待验证完成的情况下使用我的nuget包?请记住,我正在同一台笔记本电脑上并排开发这两个软件包。

高效完成这项工作有三个层次:

  • 尽可能使用项目引用而不是包引用在同一解决方案中进行本地开发。正如zivkan在评论中所说,这种“内部循环”是最快的。执行此操作直到需要测试软件包本身(例如,确保其安装正确)

  • 如果您能够在不将包托管在云存储库的情况下测试该包,请使用。(
    nuget add my-package.1.0.0.nupkg-source C:\somedirectory\localnuget
    )Visual Studio和
    nuget
    CLI都可以配置为在本地目录中查找,这使得测试循环更快

  • 如果您的Azure功能必须从真正托管的存储库中获取包,请使用(或者如果您想DIY它),来托管您自己的NuGet提要。将包发布到该提要并从函数中使用它们应该比在nuget.org上等待官方验证要快


  • 使用项目引用而不是包引用?这不是开发包的好方法,因为运行该命令后,包将位于全局包文件夹(GPF)中,如果在包中发现错误,则需要增加版本或从GPF中手动删除包。使用项目引用开发包,然后仅在完成后打包和发布,这要容易得多。@zivkan我同意,如果所有内容都在同一个解决方案中,项目引用是正确的方法。从AskYous对问题的措辞来看,情况似乎并非如此——他们似乎需要依赖已安装的软件包。“请记住,我正在同一台笔记本电脑上并排开发两个软件包。”我会暂时将软件包参考更改为项目参考,完成开发,然后在提交到源代码管理之前将其更改回一个包。@zivkan问题是,您不是在测试该包,而是在测试一个引用的项目。因此,如果在打包过程中有东西向南移动,您将不知道,并最终推坏了一个包。老实说,在执行
    numetadd
    之前,运行
    rmdir C:\somedirectory\localnuget\my package
    需要做多少工作?无论如何,您已经在命令shell中了…@IanKemp确切地说-如果需要测试包(包括它是否正确安装),项目引用将不起作用。否则,项目引用>包引用。