2012-03-12 118 views
21

我正在嘗試安裝EnterpriseLibrary進行瞬態故障處理。這是一個Microsoft軟件包。當我嘗試安裝它時,出現以下錯誤:如何解決這個Nuget包的安裝問題?

Install failed. Rolling back... 
Install-Package : The specified path, file name, or both are too long. The fully qualified file name must be less than 260 char 
acters, and the directory name must be less than 248 characters. 
At line:1 char:16 
+ Install-Package <<<< EnterpriseLibrary.WindowsAzure.TransientFaultHandling 
    + CategoryInfo   : NotSpecified: (:) [Install-Package], PathTooLongException 
    + FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PowerShell.Commands.InstallPackageCommand 

我嘗試從Nuget ui中選擇包。我試過使用Nuget命令行手動安裝軟件包。

我試過一個一個地手動安裝依賴關係。它每次都在同一個包上失敗。

我的項目位置是默認的MyDocuments/visualstudio/projects位置。

任何想法?

+3

NuGet項目中存在一個未解決的問題:https://nuget.codeplex.com/workitem/4311。 – whyleee 2015-01-17 23:52:05

回答

26

它看起來像您的項目路徑足夠長,以便在安裝包時添加包文件夾失敗,因爲它達到了限定的名稱長度限制。

我的意思是: [驅動器]:\用戶[用戶] \文檔\ Visual Studio 2010的\項目[yourproject] \包\ + \ EnterpriseLibrary.WindowsAzure.TransientFaultHandling \ 已經超過極限。

你可以將項目移到其他地方嗎?

+2

它在Visual Studio項目的默認位置。我可能會在我的驅動器的根目錄下創建一個項目文件夾。對於默認的項目位置來說,這是一個奇怪的錯誤,特別是因爲沒有任何關於這條路徑的例外或者特別長。我一直認爲OS的路徑字符數限制需要增加,但這是一個不同的主題。 – BentOnCoding 2012-03-22 04:19:38

+0

謝謝我將我的項目移動到根驅動器,它工作。 – Niraj 2016-06-29 16:57:07

+0

當我看到這個錯誤,我認爲這是nuget包管理器中的問題..謝謝我已經將我的解決方案轉移到其他一些子文件夾,它的工作.. – Ein2012 2017-03-20 07:14:45

2

我也得到了同樣的錯誤,但它得到輕鬆解決,當我提出我的包,一個上層 驅動器,或u大概可以使你的項目一個文件夾內的

必將工作,而不是給人一種冗長路徑

驅動:\ [folder1中] \文件\的Visual Studio 2010 [文件夾2] [項目] \ .. \

這超過了248個字符

12

極限除了亞歷山大」回答:

您可以使用subst command來縮短您的路徑。比如我有一個類似的問題,使用

SUBST病人: 「C:\ Users \ [用戶名] \文檔\ Visual Studio的[年份] \項目」

創建一個新的P:驅動器(p用於項目)並通過許多字符縮短路徑的長度。確保您通過導航到P:not C:\ Users \ Docs下的解決方案來打開該解決方案,並且您可能想要將任何快捷方式(特別是最近打開的項目)刪除到C:下的解決方案。

您也可以創建一個批處理文件,並將其包含在開始菜單/啓動(或C:\ Users \ [用戶名] \ AppData \ Roaming \ Microsoft \ Windows \ Start Menu \ Programs \ Startup)中每次啓動計算機時運行它,並且意味着您始終擁有P:驅動器。

+0

這工作 - 此外,我發現打開解決方案後縮短了路徑,並更新了我的NuGet包,我可以重新打開並從原始的長途位置構建我的解決方案。 – perlyking 2016-12-19 00:32:22

+0

這是一個很棒的伎倆。 – joshmcode 2017-06-08 16:36:19

0

我一直面臨類似的問題,但是,我做的是手動下載文件(。nupkg文件擴展名),然後點擊在管理的NuGet包

enter image description here

設置,然後選擇你下載的軟件包(保持它在一個單獨的文件夾,你可以保留這個文件夾中的所有下載的文件包),並更新

enter image description here

0

是以前我的項目是在桌面,我只是把它移到我的驅動器之一,重新開工的項目,它開始爲我工作。