2012-03-12 62 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

是以前我的项目是在桌面,我只是把它移到我的驱动器之一,重新开工的项目,它开始为我工作。