尝试安装NuGet包 RestSharp 时,出现错误并且未安装包。
使用The path is not of a legal form
从控制台进行安装时,会出现以下消息:
该项目 C:\用户\ MYNAME \来源\工作区\项目\解决方案\包\ RestSharp.105.1.0 \ LIB \ net35 \ RestSharp.dll 在您的工作区中找不到,或者您没有权限 访问它。
新发布的Visual Studio 2015(社区版)会发生这种情况。
答案 0 :(得分:49)
编辑:如果你有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没什么经验,我收到成千上万的冲突,文件消失,再次出现等等。
但经过一些工作,我得到了它。
这是值得的。
但解决方案并不大,所以很容易。
答案 1 :(得分:15)
下面的软件包存在同样的问题,通过“工具 - >扩展和更新 - >更新”更新了NuGet到v.3.1.1.0,现在一切都可以了。谢谢!
Microsoft.Bcl
Google.Apis.Calendar.v3
RazorEngine
示例错误,以便更多人可以找到此主题:
“Install-Package:路径不是合法形式。 在行:1字符:16 + Install-Package<<<< RazorEngine + CategoryInfo:NotSpecified:(:) [Install-Package],Exception + FullyQualifiedErrorId:NuGetCmdletUnhandledException,NuGet.PackageManagement.PowerShellCmdlets.InstallPackageCommand“
答案 2 :(得分:4)
我的VS 2015遇到了同样的问题,我刚刚通过在VS 2013中打开相同的解决方案添加了引用,然后在VS 2015中重新打开它以进行常规工作。
答案 3 :(得分:0)
我在nuget包管理器的版本3.5.0.1484上发生了这种情况。在我的例子中,来自dev分支的合并改变了packages.config文件以列出不再存在的包的版本。加载解决方案后,在程序包管理器控制台中使用其中一个程序包命令的任何尝试都失败,并且路径不合法。错误。我最终使用解决方案级别gui来整合受影响的包并解决了错误。可能我也可以恢复packages.config文件。
答案 4 :(得分:0)
请在package.config中添加一个条目,如下所示,并构建解决方案。这对我有用。
答案 5 :(得分:0)
我在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>
在那之后(并在将所有现有解决方案尝试到整个世界之后),我重新构建了该项目,并且程序运行成功并且运行完美。
这真是不可思议的块金存储库中的错误。...在每种情况下,您都需要某种魔术来解决,这太可怕了。
希望此解决方案可以帮助任何人。