从NuGet安装SignalR(Newtonsoft.Json出现问题)
问题描述:
我试图通过NuGet安装SignalR。说到安装Json,它说由于PowerShell策略,安装失败。 我找到了this post来解释在这种情况下要做什么。从NuGet安装SignalR(Newtonsoft.Json出现问题)
不幸的是,改变设置被我们公司的政策阻止,我无法改变这个价值。
我做的下一步是手动下载Json.NET并在我的项目中手动引用。我希望NuGet能够找到参考并忽略安装。但是这并没有奏效。
最后来到我的问题:有没有办法“告诉”NuGet在安装SignalR时忽略Json.NET依赖项?
答
我正要尝试Sirwan的建议,直到我意识到由于PS的执行策略,我甚至无法在Package Manager控制台中运行任何命令。
解决方案:
实际上,你可以改变MachinePolcy执行政策不 通过GPO去!你需要去在注册表和编辑 以下键HKLM:\ SOFTWARE \政策\微软\的Windows \ PowerShell和 的ExecutionPolicy值更改为绕过
发现的解决方案here
这实际上可以同时解决我安装Json.NET时遇到的另一个问题。
答
的Install-Package
命令有一个标志忽略的依赖关系:
Install-Package Microsoft.AspNet.SignalR -IgnoreDependencies
安装-封装[-Id] [-IgnoreDependencies] [-ProjectName ] [-Version] [ - 源] [ - IncludePrerelease] [-Force] [-FileConflictAction] [-DependencyVersion ] [-WhatIf]
-IgnoreDependencies
Installs only this package and not its dependencies.
Required: false
嗨Sirwan,是的,这将工作,但后来我在一个依赖项的恶梦,因为整个SignalR依赖树包含很多安静的包。任何其他可能性? – gsharp
嗨,首先我建议你安装'Microsoft.AspNet.SignalR.Core'包,因为它依赖于JSON.NET,然后安装'Microsoft.AspNet.SignalR' –