debugging私人NuGet包?
我已经发布了一些私人/内部库作为NuGet包,使用符号选项。 包和符号托pipe在内部networking共享上。 debugging时如何进入这些软件包?
当我从这些包中进行编码时,Visual Studio将显示“No Source Available”/“No Symbols Found”页面。 单击“加载符号”只允许使用pdb文件,而不能使用符号包。
这些软件包不适合在NuGet Gallery / SymbolSource上发布。
你用什么命令来生成符号包? 我试图做同样的事情nuget.exe pack -Prop Configuration=Release Framework.csproj -Symbols
这将创build两个文件: Framework.nupkg和Framework.symbols.nupkg 。 我把这些文件放在一个networking共享,从另一个项目中使用它们,debugging工作正常。
您是否尝试将* .nupkg和* .symbols.nupkg文件放在本地磁盘而不是networking共享?
有几个选项; 一个是设置和configuration你自己的符号服务器 。
您还可以下载Inedo的ProGet ,在目标提要上启用符号服务,然后将您的软件包发布到ProGet。 所有这些都可以使用ProGet的免费版本来完成。
免责声明 – 我的日常工作是在Inedo
现在还有一个名为GitLink的工具( https://github.com/GitTools/GitLink ),它可以插入符号文件链接到源代码版本化的GIT文件。
您可以使用这些networking共享在内部设置您自己的符号源服务器。 您可以在我的博客上find一步一步的教程 。
它基本上是创build一个空的MVC应用程序并运行
安装程序包SymbolSource.Server.Basic
从那里你需要设置托pipe基础设施,并configurationVisual Studio和生成代理。
我们这样做(和工作)的方式:
- 生成“* .symbols.nupkg”
- 将符号包部署到SymbolSource服务器(私有)
- configurationIDE
- 使用NuGet(从我们的SymbolSource服务器)添加所需的库来投影
- debugging!
可能有用的链接:
-
-
SymbolSource服务器安装
-
重要说明:如果在系统中检测到更新的Visual C ++ Redist版本,将无法安装“Windowsdebugging工具”
-
-
-
Vsconfiguration使用SymbolSource进行debugging
-
要添加的url就像
http://your.symbolsource-server.com:[port]/[appContext]/WinDbg/pdb
-
我发现它根本不起作用。 NuGet软件包引用已closures,不能在debugging器中使用。 我所做的是从项目中删除程序集引用,并直接通过path添加对DLL的Debug版本的引用。
然后,为了让debugging器停止在那个代码的某个地方,我插入了调用System.Diagnostics.Debugger.Break();
在那个代码里 运行时,debugging器将在该行停止,这基本上是一个代码定义的断点。 这将打开正确的源文件并自动跳转到该行。
在第二个VS实例中打开库项目,根据需要移动Break
调用并重build库。 完成后,从库代码中移除这些调用并恢复原始引用(可能需要重新安装NuGet包)。
- Linux内核实时debugging,如何完成以及使用哪些工具?
- 错误LNK2038:为'_ITERATOR_DEBUG_LEVEL'检测到不匹配:值'0'与main.obj中的值'2'不匹配
- 为什么这个循环在某些平台上退出,而不是在其他平台上退出?
- 正确打印Java集合(toString不返回漂亮的输出)
- 在哪里了解VSdebugging器的“魔术名字”
- JavaScript console.log导致错误:“主线程上的同步XMLHttpRequest已被弃用…”
- Chrome浏览器JavaScriptdebugging – 如何保存页面刷新或通过代码中断之间的断点?
- 为什么.NET将额外的斜杠添加到path中已有的斜线?
- 不能在Android Studio中debugging应用程序