gpt4 book ai didi

c# - 如何在 Visual Studio IDE 中查看来自 github 的源代码,但使用来自 Nuget 的 dll 进行编译?

转载 作者:太空狗 更新时间:2023-10-30 01:31:49 24 4
gpt4 key购买 nike

如今,有许多很棒的开源包和框架可用于各种用途。让我们以 ASP.NET Core MVC 和 Newtonsoft.Json 为例。这些都是在 Nuget 包中提供的,它们被剥离了源代码。我想你们中的许多人都记得很多情况,在这些情况下,人们希望在 GitHub 上免费查看源代码(以帮助调试某些问题),但被迫执行以下操作之一:

  1. 变得懒惰,忘记它,或者继续使用流行的库调试您的问题,将其更像是一个“黑匣子”;
  2. 转到浏览器,键入 github.com 并在没有 Visual Studio IDE 强大建议的情况下搜索源代码;
  3. 花 5 分钟,将存储库克隆到本地驱动器并使用 IDE 查看它;
  4. 在编译源代码时花费更多时间,从您的项目中卸载所有感兴趣的 nuget 包,而是直接连接到所有新编译的程序集(它们并不总是与 Nuget 包一对一).

最后一个选项是最可行的,但是您将花费大量时间,并且不能再将其推送到您的存储库或部署编译后的代码。其他开发人员不会找到这些 dll 的相对路径,客户最终可能会在部署包中烘焙错误版本的 nuget 包。

是否有第五个选项具有第四个选项的所有优点,但没有任何缺点?我想象这是由一个独立的 IDE 完成的,即没有修改我的 .csproj 和 package.config 文件,但是“转到定义”和“查找所有引用”功能和调试应该像我上钩一样工作直到真正的东西。

是的,我很懒。

最佳答案

请将包打包为symbols包,下载包源码后将PackageName.Symbols.nupkg文件与ProjectName.nupkg文件放在同一个包服务器上。我正在使用以下步骤在 Visual Studio IDE 中调试我的 NuGet 包源代码。

  1. 创建我的 NuGet 包项目并实现我想要的功能。根据您的情况,您只需要从 Github.com 下载包源代码即可。
  2. 在您的 Visual Studio IDE 中构建项目,它会在 bin\Debug 文件夹中生成一个 dll 文件和一个 pdb 文件。
  3. 下载 NuGet.exe 并运行此命令将源代码项目打包到 package:

NuGet Pack MyProject.csproj -Symbols

  1. 会生成两个文件,一个是ProjectName.symbols.nupkg,另一个是ProjectName.nupkg。将这些文件上传到您的 NuGet 服务器。您也可以将它们放在本地驱动程序上。
  2. 通过“工具”->“选项”->“程序包管理器控制台”->“程序包源”将您的 NuGet 服务器添加到您的 Visual Studio IDE 中。
  3. 打开您的项目并从添加的包源安装包。
  4. 右键单击您的解决方案,选择“属性”->“通用属性”->“调试源文件”,添加 PackageName.Symbols.nupkg 文件与 ProjectName.nupkg 文件在本地计算机上的存储路径。

现在,当您开始调试您的项目并按 F11 进入已安装包中的一个函数时,它将进入然后打包源代码。

关于c# - 如何在 Visual Studio IDE 中查看来自 github 的源代码,但使用来自 Nuget 的 dll 进行编译?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39560156/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com