C# 使用Visual Studio使用自行开发的Nuget软件包的正确方法

C# 使用Visual Studio使用自行开发的Nuget软件包的正确方法,c#,nuget,nuget-package,visual-studio-2019,C#,Nuget,Nuget Package,Visual Studio 2019,我目前正在从事一个自主开发的.NET核心项目。另一个部门的一位开发人员创建了一个具有许多核心功能的NuGet包。我被指示应该在我的项目中使用这个包,以允许共享代码。我收到了两份文件 homegrounnuget1.nupkg HomeGrownNuget1.symbols.nupkg 所以在VisualStudio中,我进入了Manage Nuget Packages for Solution->添加了一个新的包源,并将其指向我存储这两个文件的本地文件。 然后我浏览了NuGet软件包并安装了它

我目前正在从事一个自主开发的.NET核心项目。另一个部门的一位开发人员创建了一个具有许多核心功能的NuGet包。我被指示应该在我的项目中使用这个包,以允许共享代码。我收到了两份文件

  • homegrounnuget1.nupkg
  • HomeGrownNuget1.symbols.nupkg
  • 所以在VisualStudio中,我进入了Manage Nuget Packages for Solution->添加了一个新的包源,并将其指向我存储这两个文件的本地文件。 然后我浏览了NuGet软件包并安装了它

    但是,当我运行程序时,我仍然无法进入NuGet包中的逻辑


    什么是使其正常工作的正确方法?

    如果要调试nuget软件包,您(消费者)应该做一些事情,发布者应该做一些事情

  • 使用符号发布nuget包

    dotnet pack [PROJECT].csproj --include-symbols --include-source
    
  • 在“工具->选项->调试器->常规”下设置调试器

  • 取消选中“仅启用我的代码(仅限托管)”

    取消选中“启用.NET Framework源代码步进”。是的,这是误导,但如果您不这样做,那么VisualStudio将忽略您的自定义服务器顺序(请参阅下文)

    选中“启用源服务器支持”

    取消选中“要求源文件与原始版本完全匹配”

    转到工具->选项->调试器->符号。 为本地符号/源缓存选择一个文件夹。 在“符号文件(.pdb)位置”下添加符号服务器。注意正确的顺序,因为有些服务器可能包含相同二进制文件的符号:有或没有源


    我现在可以调试到它了。但它并没有告诉我,“无法获取局部变量或参数的值,因为它在该指令指针处不可用,可能是因为它已被优化掉了。”请检查:必须为nuget包执行此操作。创建一个预发布包,当您准备好生产时,再次创建优化版本。