2014-01-10 78 views
1

我們最近爲NuGet存儲庫和NuPeek作爲符號服務器安裝了NuPeek。NuPeek符號不在Visual Studio 2012中下載源代碼

NuGet作品(上圖)罰款。它在一個小時內成立。

另一方面,符號服務器是一個不同的故事。包被推送到NuPeek(普通包和符號包)。我在服務器上看到這兩個文件都被拾取並放置在正確的文件夾中(源文件也是這種情況下的.cs)。

我設置了Visual Studio,因此它可以找到正確的符號服務器。當我創建一個新項目,請安裝包(也有一個符號包),從包中使用的代碼,並嘗試調試它,會發生以下情況:

  1. 在緩存文件夾中的「包」是下載
  2. 緩存文件夾還有一個src文件夾。在具有與包 - >版本名稱相同的文件夾的源文件夾中。
  3. 版本文件夾爲空
  4. 文件夾緩存/包名 .PDB/GUID/包名 .PDB存在

不過,Visual Studio中無法找到正確的CS文件以顯示。在NuPeek服務器文件夾中進行了一些挖掘之後,我注意到文件夾symbolsPath - > temp - >PackageName - > lib - > net45是空的,而symbols.nupkg顯然具有源代碼(一個cs文件需要刪除)。

我以前有這個工作,但我們將服務器(Azure網站轉換爲Azure CloudService),但我99%確定這不是問題。

我錯過了什麼嗎?有沒有人有任何線索?

在此先感謝!

回答

2

有沒有人有任何線索?

如果有人這樣做,那麼該項目的作者JérémieChassaing將是最有可能的人選。不要猶豫,向issue tracker添加問題。現在沒有多少,他看起來非常敏感,所以值得你花時間。

不要通過設置清單首先運行:

  • 工具+選項,調試,符號,加http://myserver/NuPeek/symbols到符號文件位置列表。確保你有一個有效的緩存符號目錄
  • 工具+選項,調試,一般,勾選「啓用源服務器支持」選項
  • 取消選中「啓用我的代碼」選項。
  • 選中「打印源服務器診斷」選項。更新你的問題與你在輸出窗口中看到的東西,所以我們將有一個更好的鏡頭來找出真正的問題
2

好吧,這是一個老問題,但因爲我今天找到解決方案,我會發布它這裏。

這可能是因爲您在您的網站結構中啓用了NuPeek太深。 Nupeek中的一個錯誤要求它安裝在您網站的根目錄(例如:www.domain.com,而不是www.domain.com/Nupeek/)。

你還能修復SymbolTools.cs的bug,這個更換SourceBaseUri吸氣代碼:

private static string SourceBaseUri 
    { 
     get 
     { 
      var httpRequest = HttpContext.Current.Request; 

      var applicationUri = new Uri(new Uri(httpRequest.Url.GetLeftPart(UriPartial.Scheme | UriPartial.Authority)), Path.Combine(httpRequest.ApplicationPath, "source")); 

      return applicationUri.ToString(); 
     } 
    } 

希望這有助於。

相關問題