簡體   English   中英

安裝Nuget Package錯誤“​​路徑不是合法形式”

[英]Install Nuget Package error “The path is not of a legal form”

當嘗試安裝NuGet包RestSharp時,我收到錯誤The path is not of a legal form並且沒有安裝包。

使用Install-Package RestSharp從控制台進行Install-Package RestSharp ,會出現以下很多消息:

在您的工作區中找不到項C:\\ Users \\ myName \\ Source \\ Workspaces \\ Project \\ Solution \\ packages \\ RestSharp.105.1.0 \\ lib \\ net35 \\ RestSharp.dll,或者您無權訪問它。

這是在新發布的Visual Studio 2015(社區版)中發生的。

編輯:如果你有NuGet 3.0,那就是問題所在。 只需更新NuGet,一切都應該有效。 以下步驟適用於NuGet 3.0,這很痛苦且容易出錯。 不要經歷這樣的痛苦,選擇簡單的步驟,更新你的Nuget!

我更新到VS Express 2015,從那時起我經歷了一些冒險。

TL; DR如果“禁用”TFS(源代碼管理),您應該能夠安裝該軟件包。 然后再次將解決方案添加到源代碼控制中,但它導致了大量問題。

所以...

我看到你有TFS。 我也有。

此外,我看到你收到與我相同的錯誤消息。

我嘗試安裝LanguageExt(C#6的一個很棒的庫),當它嘗試安裝其中一個依賴項(System.Collections.Immutable)時失敗了。

如果您想要完成所有這些工作,請備份您的項目文件夾。

這就是我做的:

1 - 將我的解決方案文件夾復制到其他位置。

2 - 打開解決方案。 VS聰明地讓我把它添加到源代碼控制,但我不想。

3 - 嘗試Install-Package LanguageExt文本

4 - 意想不到的成功

5 - “很好,讓我再次將它添加到TFS源控件”

我的旅程開始了。

由於我對TFS沒什么經驗,我收到成千上萬的沖突,文件消失,再次出現等等。

但經過一些工作,我得到了它。

這是值得的。

但解決方案並不大,所以很容易。

與下面的包有相同的問題,通過“工具 - >擴展和更新 - >更新”更新NuGet到v.3.1.1.0,現在一切都可以工作了。 謝謝!

Microsoft.Bcl

Google.Apis.Calendar.v3

RazorEngine

示例錯誤讓更多人可以找到此主題:

“Install-Package:路徑不是合法形式。在行:1 char:16 + Install-Package <<<< RazorEngine + CategoryInfo:NotSpecified:(:) [Install-Package],Exception + FullyQualifiedErrorId:NuGetCmdletUnhandledException, NuGet.PackageManagement.PowerShellCmdlets.InstallPackageCommand”

與我的VS 2015有同樣的問題,我剛剛通過在VS 2013中打開相同的解決方案添加了參考,然后在VS 2015中重新打開它以進行常規工作。

我在nuget包管理器的3.5.0.1484版本上發生了這種情況。 在我的例子中,來自dev分支的合並改變了packages.config文件以列出不再存在的包的版本。 加載解決方案后,任何嘗試在程序包管理器控制台中使用其中一個程序包命令的操作都失敗,並且“路徑”不是合法格式。 錯誤。 我最終使用解決方案級別gui來整合受影響的包並解決了錯誤。 可能我也可以恢復packages.config文件。

請在package.config中添加一個條目,如下所示,並構建解決方案。 這適合我。

我在VS 2017中遇到了同樣的問題,另一個包(WPFLocalizeExtension)。

解決這個問題的方法是從項目中刪除.nuget文件夾,然后轉到.csproj項目文件,並刪除以下行:

<Import Project="$(SolutionDir)\.nuget\NuGet.targets" Condition="Exists('$(SolutionDir)\.nuget\NuGet.targets')" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
  <ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them.  For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('$(SolutionDir)\.nuget\NuGet.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\.nuget\NuGet.targets'))" />
</Target>

在那之后(並且在將所有現有解決方案都嘗試到全世界之后),我重建了項目,並且程序運行成功且完美。

這真是令人難以置信的金塊存儲庫的錯誤....你需要某種魔法來解決每個特定情況,這是非常可怕的。

希望這個解決方案能幫到任

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM