在一个解决方案中使用多个Nuget项目

4

我有两个项目:AB,想将它们发布为NuGet包,但我不知道如何在Visual Studio中进行高效的开发。

Solution 1
   Project A
   Project B - references Project A as NuGet reference

当我需要在Project B中对Project A进行更改时,是否必须发布Project A?在开发过程中有没有一种获取项目引用功能的方法?也许Project B不应该通过NuGet引用Project A
肯定有好的解决办法处理这种情况,是吗?我已经阅读了NuGet文档,但没有找到任何信息。一定有更多相关文档、博客或者Stack Overflow帖子可以了解...我正在苦思冥想正确的关键字。

关于这个问题怎么样了?您能告诉我最新的信息吗?如果下面的答案解决了您的问题,您可以将其标记为答案,这样可以帮助其他遇到相同问题的社区成员。 - Leo Liu
嗨@LeoLiu-MSFT - 我已经点赞了,因为这些信息很有帮助。我有点犹豫不决。我不知道其中任何一个是否是答案。我觉得它们可以合并成一个答案,并提供多个解决方案。你有什么想法? - spottedmahn
4个回答

3

3

2
这段话的意思是:在处理这种情况时一定有好的方法,对吗?最佳解决方案是当所引用的项目经常修改时,应该推荐使用项目对项目的引用;而当需要共享或发布引用项目时,则更适合使用NuGet引用。就像NuGet Reference Switcher所做的那样。如果想要了解更详细的信息,可以查看以下讨论:nuget packages in local work
NuGet作为Microsoft开发平台的包管理器有许多优点,但并不意味着它没有缺陷。正如您遇到的那样,如果引用的项目经常被修改,我们就必须为每次修改重新构建它、构建Nuget并发布它。这将带来很多无聊的工作。为了解决这些缺点,项目对项目的引用应该是一种更好的方式。
项目对项目引用的优点在于它在构建系统中创建了项目之间的依赖关系。如果从上次构建引用项目以来,被依赖的项目已经发生了变化,那么就会构建被依赖的项目。文件引用不会创建构建依赖关系,因此可以构建引用项目而不构建被依赖的项目。

1
您可以在构建后添加以下“Post-build”事件命令,以在构建完成后打包您的项目。
"the nuget.exe path\nuget.exe" pack "project path\NuGetPackageLibrary.csproj" -OutputDirectory "Your target path"

当您的构建成功时,目标路径中的软件包将被最新版本替换。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接