我在一家拥有整体应用程序的公司工作,我想将其拆分为较小的Web服务/ Windows服务/网站等

我想变得“聪明”,并通过将它们放在自己的类库中并使用Azure Devops在构建时为其创建NUGET包来重用整体中包含的libraires(尽管并不完全绑定到此工具)。

我尝试隔离的主要对象是数据访问层,因为它是最常用的。

到目前为止,CI端将构建我的类库之一,并将递增的版本号发布到我可以通过VS连接到的nuget提要。

问题是,我无法终生搞清楚如何调试这些nuget包,就好像我们仍在单片中进行调试一样-我们都非常习惯于能够对请求的整个端到端进行调试->回应。

我想我本质上是想


托管一个nuget包
能够以DEBUG或RELEASE变体构建(发布时发布,在开发过程中调试)
拥有完整的源代码和可变的监视功能,可以轻松地进入库,就像我们仍处于整体设计中一样


我拒绝相信这是不可能的,因为我认为大多数编写良好代码的公司肯定会这样做,还是我认为这一切都错了?

我唯一能在网上找到的人是谁,他们主动将nuget软件包本地复制到他的计算机上,在调试中构建它们并将pdb文件拖到整个机器上-这比它的价值更麻烦,而我却想'坚持到底整体设计”。

最佳答案

这取决于您的期望或您对调试的定义。假设您正在调试,并且该错误确实在软件包中。您是否希望能够更改软件包中的程序集的几行代码,使用依赖项构建应用程序的新版本并再次运行?在那种情况下,它不会那么简单,即使将它们部署为多个服务,也最好将所有内容保存在一个解决方案中。

但是,如果您只是想使用Visual Studio的调试器并能够进入方法,则可以使用Azure DevOps Pipelines task to publish symbols。请注意,这与使用符号包或snupkg是不同的,就像您将符号发布到nuget.org一样。 Azure DevOps任务只是将*.pdb直接复制到其符号服务器。每个开发人员还需要一次配置其VS才能使用符号服务器。

关于c# - 如何从Azure Devops轻松调试内部Nuget程序包,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56735337/

10-13 07:56
查看更多