2016-12-15 180 views
1

因此,我在網絡上的一臺計算機上運行了一個ASP.Net Nuget服務器。我使用.Net 4.6和Nuget.Server版本2.11.2.0和IIS 8.Nuget.Server可以在軟件包安裝中列出軟件包,但可以列出404軟件包

這是連接到我們的自動構建系統,所以包成功後自動創建並複製到〜/ Packages目錄,當我在瀏覽器中訪問服務器URL時,我可以看到啓動頁面並單擊軟件包鏈接以查看可用軟件包XML頁面。如果我將包URL納入到Visual Studio中的Nuget設置中,那麼它會列出可用的包,但是當我點擊「安裝」時會出現404包,請參閱下面的圖像。

請注意,當我嘗試使用服務器啓動頁面上的命令推送程序包時,它也是404。

我已經嘗試使用curl來查看路由是否實際可用,我從api/v2 /包中獲取404以及從nuget /包中獲取404。 IIS日誌在http:/// api/v2/package上顯示了一個404等等......所以我想我至少會檢查那條路線是否可用,而它看起來不是。我不明白爲什麼會這樣。

list but fail install

事情我已經嘗試;

  • nupkg的Mime類型設置爲應用程序/壓縮在IIS
  • IIS應用程序池模式被設置爲集成
  • ASPNET_ISAPI.DLL存在於兩個Framework64 /框架文件夾.NET 4.5
  • runAllManagedModulesForAllRequests是設置爲false在Web.config中

我的問題基本上圍繞着幾件事情;

  • 有沒有服務器使用的任何內部端口,我可能還沒打開? (即我已打開端口51702這是默認的Nuget.Server端口,但我假設http請求將運行在端口80或443)
  • 除了我已經有的事情之外,是否有其他人有類似的問題試過嗎?

回答

1

這是現在正在工作;我不完全確定是什麼修復了它,因爲我一次做了一些修改。最爲顯着地;

  • 我從.NET 4.5升級到4.6及更新Nuget.Server因此,我認爲這個改變從server/nuget/package/{package-id}/{version}server/api/v2/package/{package-id}/{version}
  • 路由我在Web.config
改變 runAllManagedModulesForAllRequests爲真