包恢复失败 ASP.NET 5

Package restore failed ASP.NET 5

我在 Visual Studio 2015 年从 NuGet 存储库恢复 包时遇到问题。

当我创建一个新的 ASP.NET 5 项目时,与 ASP.NET 5 相关的依赖项似乎没有被下载并添加到我的新项目中,我在黄色三角形中看到感叹号相反,在每个参考旁边签名。Solution Explorer.png 好吧,显然,我无法构建解决方案,因为依赖项在 project.jason 中以红色突出显示。 当我在 Solution Explorer 中点击 Restore Packages 选项时,软件包没有恢复,我得到包恢复失败 消息。在输出中我可以看到由于异常 at System.Security.Cryptography.SHA256Managed..ctor()

System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.InvalidOperationException: This implementation is not part of the Windows Platform FIPS validated cryptographic algorithms. at System.Security.Cryptography.SHA256Managed..ctor() --- End of inner exception stack trace ---

Output window.png

我正在使用最新的 DNX (1.0.0-rc1-update1 clr x64),事实上我已经尝试使用不同的 DNX none,它们都按预期工作。我也尝试重新安装 ASP.NET 5 bundle;修复 Visual Studio 2015;以不同方式卸载和安装 NuGet 包管理器;试图从 AppData\Roaming\NuGet 中删除 NuGet.Config,从 AppData\Local\Microsoft\VisualStudio 中手动删除文件;恢复了默认设置,但上述解决方案中的 none 对我有用。 唯一对我有用的 "sort of fix" 是项目文件夹中的 cmd prompt "dnu restore" 命令。它解决了我最初的依赖 "Microsoft.AspNet.IISPlatformHandler""Microsoft.AspNet.Server.Kestrel" 并且我设法构建了项目。我以为会这样,但实际上,它并没有做太多:我仍然无法添加任何新的依赖项,即使我在 project.jason[= 中手动输入它也是如此41=] NuGet 包管理器在尝试解决它时失败。


问题是:有没有人遇到过类似的问题?如何强制 NuGet 管理器解析 ASP.NET 5 个依赖项? 任何建议都适用。欢迎链接到文章、线程、评论。

您的开发机器启用了 FIPS 算法策略,因此将此 SHA256 实现标记为无效。 .NET 确实提供了符合 FIPS 的实现:SHA256CryptoServiceProvider。

如果您不知道为什么将您的计算机设置为 FIPS 兼容,您的管理员或许可以帮助您。由于这可能是您所在行业的要求甚至法规,因此我会尽力确保。如果您确定不必符合要求,可以通过多种方式禁用 FIPS 模式。