Visual Studio 2015 年非 MVC6 项目上的 Nuget 错误

Visual Studio 2015 Nuget Error on non-MVC6 projects

我今天启动了 VS 2015 来完成一些工作,它说有一个 nuget 更新,所以我更新了它。 之后,我创建了一个新项目来测试一些东西,但没有安装 nuget。打开以前的项目并尝试从 nuget 安装更新,但都失败了。

大多数错误是项目不可用,但我在尝试不同的东西时无法加载依赖项和其他一些细微差别。

到处都失败,无法使用。我怎样才能回到以前的版本?我什至不知道以前是哪个版本,现在安装了什么。

它确实适用于 MVC6 项目。

System.Runtime.InteropServices.COMException (0x80004005): Project unavailable. ---> System.Runtime.InteropServices.COMException (0x80004005): Project unavailable.
   at EnvDTE.Project.get_Object()
   at NuGet.PackageManagement.VisualStudio.EnvDTEProjectUtility.GetReferences(Project project)
   at NuGet.PackageManagement.VisualStudio.EnvDTEProjectUtility.GetReferencedProjects(Project envDTEProject)
   at NuGet.PackageManagement.VisualStudio.VSSolutionManager.<>c__DisplayClass7.<GetDependentEnvDTEProjectsDictionary>b__6()
   at Microsoft.VisualStudio.Shell.InvokableAction.InvokeMethod()
   at Microsoft.VisualStudio.Shell.InvokableBase.Invoke()
   at NuGet.PackageManagement.NuGetPackageManager.<ExecuteNuGetProjectActionsAsync>d__d2.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at NuGet.PackageManagement.UI.UIActionEngine.<ExecuteActions>d__1b.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at NuGet.PackageManagement.UI.UIActionEngine.<PerformAction>d__0.MoveNext()

我打开了配置,删除了 v3 api 端点并保存了设置,现在一切都恢复正常了。我不确定更新是否以某种方式扰乱了配置,或者这是一个已修复的 'nuget server' 问题。

新项目中也缺少 packages.config,因此我必须使用以下内容手动创建它:

<?xml version="1.0" encoding="utf-8"?>
<packages>
</packages>

万一是第 1 个问题,我就把我所做的事情留在这里。

打开 nuget 配置,禁用 v3 feed,保存,然后重试。

我今天在 VS 2017 中遇到了这种情况,解决方案是重新启动 Visual Studio,它解决了。