我正在尝试为我的库构建nuget包和符号.我正在使用TeamCity构建软件包,然后将它们推送到我的
internal SymbolSource repo.
一切似乎都在构建/打包/推送很好,但是当我去调试我的nuget包(使用VS2012)时,源代码不正确,更好的是,我找不到它在任何地方显示的方法名称图书馆.
我的项目结构:
MyProject / Bin/ release/ MyProject.dll VarIoUsFolders/ CSFiles.cs VarIoUsCSFiles.cs MyProject.csproj MyProject.nuspec
在我的.nuspec文件中(注意,在TeamCity端处理v4.0和v4.5目录):
<?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
所以我假设的问题是,当我将包推送到我的内部符号repo时,我去查看文件结构,如下所示:
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神奇地拉入调试符号.
所以,我完全不知道接下来要去哪里检查.
解决方法
你有没有找到解决方案?不确定这是否有效.但您尝试过重置VS2012设置吗?你可以通过TOOLS做到这一点 – >导入和导出设置,然后在对话框中选择重置所有设置选项.您可以根据需要保存当前设置.