【发布时间】:2020-11-20 17:04:13
【问题描述】:
我有一个我们在整个解决方案中使用的 nuget 包库,托管在 Azure Artifacts 中。这些 nuget 包是在启用调试的情况下构建的,因此会创建符号并将其包含在 nuget 包中。
我们在 Visual Studio(主要是 Net Core 3.1)中的项目使用 Nuget 包管理器以正常方式引用这些 nuget 包。
每个解决方案都启用了 SourceLink,因此如果我有任何调试要求需要单步执行引用的 nuget 包中的代码,我可以设置一个断点,并且由于 Visual Studio 直接从 Azure Artifacts 下载源代码,所以我可以很好地执行此操作。
一切都很完美。
问题是生产力问题。如果需要更改 nuget 包中的代码,我必须打开 nuget 包的解决方案,对其进行更改、推送并等待 Azure 构建。构建后,我去 Nuget 包管理器,更新包,重新启动应用程序,“希望”解决了这个问题。对于一些棘手的事情,我可以循环这个过程几次,这是生产力的杀手。
有没有办法从引用它的解决方案中直接在解决方案中调试 nuget 包?或者有没有人有更好的流程,他们使用的效率更高?
【问题讨论】:
-
假设您使用的是 PackageReference,而不是 packages.config,暂时将 PackageReference 更改为 ProjectReference。请注意不要意外签入项目更改,尽管这应该会使 CI 失败,因此希望您无论如何都无法合并执行此操作的 PR。如果你使用 packages.config,你可以尝试添加一个 ProjectReference,看看会发生什么。我不确定是否有必要删除包,但稍微手动编辑 csproj 是可行的。
标签: c# visual-studio nuget azure-artifacts sourcelink