我正在尝试为我的库构建 nuget 包和符号。我正在使用 TeamCity 构建包,然后将它们推送到我的内部 SymbolSource repo。
一切似乎都在构建/打包/推送,但是当我去调试我的 nuget 包(使用 VS2012)时,源代码不正确,更好的是,我找不到它在任何地方显示的方法名称图书馆。
我的项目结构:
MyProject /
Bin/
release/
MyProject.dll
VariousFolders/
CSFiles.cs
VariousCSFiles.cs
MyProject.csproj
MyProject.nuspec
在我的 .nuspec 文件中(注意,v4.0 和 v4.5 目录在 TeamCity 端处理):
<?xml version="1.0"?>
<package >
<metadata>
<id>MyProject</id>
<version>0.0</version>
<title>MyProject</title>
<authors>Me</authors>
<owners>Possibly You</owners>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>Sweet Description</description>
<releaseNotes></releaseNotes>
<copyright>Copyright 2013</copyright>
</metadata>
<files>
<file src="MyProject\**\*.cs" target="src" />
<file src="MyProject\bin\release\v4.0\*.dll" target="lib\net40" />
<file src="MyProject\bin\release\v4.0\*.pdb" target="lib\net40" />
<file src="MyProject\bin\release\v4.5\*.dll" target="lib\net45" />
<file src="MyProject\bin\release\v4.5\*.pdb" target="lib\net45" />
</files>
</package>
检查 teamcity 产生的 MyProject.0.0.nupkg
lib/
net40/
MyProject.dll
net45/
MyProject.dll
检查 TeamCity 产生的 MyProject.0.0.symbols.nupkg
lib/
net40/
MyProject.dll
MyProject.pdb
net45/
MyProject.dll
MyProject.pdb
src/
VariousFolders/
CSFiles.cs
VariousCSFiles.cs
所以我假设的问题是,当我将包推送到我的内部符号仓库时,我会查看文件结构,如下所示:
Data/
MyProject/
0.0/
Bianaries/
MyProject/
some_hash/
MyProject.dll
MyProject.pdb
MyProject.txt
Sources/
[Empty]
MyProject.0.0.nupkg
Sources 文件夹是空的,100% 是空的,我似乎无法将任何 .cs 文件放入该“Sources”文件夹,但话又说回来,我不知道 nuget push 到我的 repo 之间到底发生了什么,实际转储到数据文件夹中,VS2012 神奇地拉入调试符号。
所以,我完全不知道下一步该去哪里检查。