2

我在从Visual Studio 2015 中的 NuGet 存储库还原包时遇到问题。

当我创建一个新的 ASP.NET 5 项目时,与 ASP.NET 5 相关的依赖项似乎没有被下载并添加到我的新项目中,而是在每个引用旁边的黄色三角形符号中看到感叹号。Solution Explorer.png 显然,我无法构建解决方案,因为依赖项在project.jason中以红色突出显示。当我在解决方案资源管理器中点击“恢复包”选项时,包没有恢复,我收到包恢复失败消息。在输出中我可以看到它由于System.Security.Cryptography.SHA256Managed..ctor()的异常而失败

System.Reflection.TargetInvocationException:调用的目标已引发异常。---> System.InvalidOperationException:此实现不是 Windows 平台 FIPS 验证的加密算法的一部分。 在 System.Security.Cryptography.SHA256Managed..ctor() --- 内部异常堆栈跟踪结束 ---

输出窗口.png

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


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

4

1 回答 1

0

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

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

于 2016-02-15T06:07:48.920 回答