我在使用ProGet和VS2017 / VS2019保护源文件和符号时遇到问题。
我的情况如下
我已按照指南的建议配置{2017 {3}}
使用-symbols命令行参数启动nuget pack命令,并使用以下结构创建symbol.nupkg
在我的代码中的TestClass上按F12键,pdb已正确下载到
c:\ users \ me \ appdata \ local \ temp \ symbolcache \ testassembly.pdb \ bf5be5cd155e4400b9b18c0e1e6a05941 \ testassembly.pdb
然后在我看到的Visual Studio输出窗口的下拉列表中选择ReSharper项目
PdbNavigator: Downloader: http://srv.symbolsource.org/pdb/Public/testassembly.pdb/bf5be5cd155e4400b9b18c0e1e6a05941/testassembly.pdb -> The remote server returned an error: (500) Internal Server Error.
--OK, it's MS symbol server
PdbNavigator: Downloader: http://myproget/symbols/dev/testassembly.pdb/bf5be5cd155e4400b9b18c0e1e6a05941/testassembly.pdb -> ok, 15.5 KB
-- OK, it's our ProGet server
PdbNavigator: Searching for 'TestAssembly.TestClass' type sources in C:\Users\me\AppData\Local\Temp\SymbolCache\TestAssembly.pdb\bf5be5cd155e4400b9b18c0e1e6a05941\TestAssembly.pdb
PdbNavigator: Downloader: http://myproget/source-files/dev/TestAssembly/1.0.0.10/TestClass.cs -> The remote server returned an error: (404) Not Found.
-- Here we come :(
PdbNavigator: No sources found in debugging information for 'TestAssembly.TestClass' in assembly 'TestAssembly, Version=1.0.0.10, Culture=neutral, PublicKeyToken=null'
在我的symbolcache文件夹中,有一个带有此路径的子文件夹
C:\ Users \ me \ AppData \ Local \ Temp \ SymbolCache \ src \ source-files \ dev \ TestAssembly \ 1.0.0.10
但是没有源文件。
看看pdb文件内部,我发现了
SRCSRV: ini ------------------------------------------------
VERSION=2
INDEXVERSION=2
VERCTRL=http
SRCSRV: variables ------------------------------------------
SRCSRVVERCTRL=http
PGSERVER=http://myproget/source-files
PGFEED=dev
PGPKGID=TestAssembly
PGPKGVER=1.0.0.10
HTTP_EXTRACT_TARGET=%pgserver%/%pgfeed%/%pgpkgid%/%pgpkgver%/%var2%
SRCSRVTRG=%http_extract_target%
SRCSRVCMD=
SRCSRV: source files ---------------------------------------
c:\buildagent\work\b5cfc05c815c43d9\testassembly\testclass.cs*TestClass.cs
SRCSRV: end ------------------------------------------------
所以,我的问题是:如何从ProGet正确下载源文件? 我的情况怎么了?
谢谢!
Fabrizio
答案 0 :(得分:0)
从ProGet的角度来看,在以下任何一种情况下,/source-files/*
端点将返回404:
dev
)/source-files
URL中缺少软件包版本/src
文件夹下找不到文件本身(即您的示例中的TestClass.cs)话虽这么说,您是否可以使用此软件包1.0.0.10版的“文件”标签在供稿本身中验证这些源文件是否存在?我知道,如果将普通的非符号程序包推到一个符号之后,它可以覆盖它,从而有效地删除那些文件。