2014-11-03 78 views
1

我們正在使用TFS 2012來構建我們的解決方案。一旦完成,我使用構建輸出來創建一些我在內部發布的NuGet包。我剛開始用符號構建這些包,以便我可以將這些NuGet符號包發佈到我們的內部符號服務器。TFS構建DLL和PDB不匹配

但是,我無法將符號包發佈到符號服務器。原因是DLL和PDB不匹配。我使用ChkMatch年齡屬性在位於TFS Dropfolder發佈目錄中的DLL和PDB上有所不同。如果我從實際構建目錄中的obj文件夾中獲取PDB文件,則它們匹配。

現在我相信年齡屬性會增加,因爲我的構建過程模板具有屬性「源和符號服務器設置>索引源」設置爲True。

  1. 它是正確的,只是設置該屬性爲
  2. 會有什麼不可預見的後果嗎?
  3. 如果我使用NuGet發佈我的符號,我可以忽略構建過程模板中的源代碼和符號服務器設置?
+0

是你的任何PDB在源代碼控制之下? – 2014-11-03 12:03:20

+0

不,我們的bin和obj文件夾沒有簽入TFS。 – openshac 2014-11-03 12:45:47

+0

如果你關閉索引,那麼你的符號文件在任何地方都是無用的,但直接在構建服務器上。 – 2014-11-09 19:34:14

回答

0

年齡差異上調chkmatch是誤導。如討論here(底部註釋部分),它不應阻止Visual Studio找到匹配的程序數據庫文件(PDB)並加載符號。

我一直在爲此苦苦掙扎,並認爲年齡差異阻礙了我逐步完成索引的源代碼。手邊還有另一個問題,它讓我走錯了路。因此,在使用chkmatch來調試此類問題時,請注意關於年齡特性的差異。