【问题标题】:Webmatrix 3.0 nuGet complaint about Net.HttpWebmatrix 3.0 nuGet 投诉 Net.Http
【发布时间】:2014-01-08 00:36:23
【问题描述】:

我刚刚安装了 WebMatrix 3.0。当我单击功能区上的 NuGet 扩展加载一些扩展时,我收到一条错误消息,指出安装的 NuGret 版本(显然是 2.2)与 .Net.Http dll 的版本不兼容。我尝试通过扩展管理器升级 NuGet,但似乎没有办法做到这一点 - 只有一个禁用和卸载选项。对这里发生的事情有任何想法吗?为什么安装了 WebMatrix 3.0 的 NuGet 版本不兼容?

带有堆栈跟踪的错误消息如下:

An error occurred.

The schema version of 'Microsoft.Net.Http' is incompatible with version 2.2.31210.9045   of NuGet. Please upgrade NuGet to the latest version from http://go.microsoft.com/fwlink/?LinkId=213942.

System.InvalidOperationException: The schema version of 'Microsoft.Net.Http' is incompatible with version 2.2.31210.9045 of NuGet. Please upgrade NuGet to the latest version from http://go.microsoft.com/fwlink/?LinkId=213942.
   at NuGet.Manifest.CheckSchemaVersion(XDocument document)
   at NuGet.Manifest.ValidateManifestSchema(XDocument document, String schemaNamespace)
   at NuGet.Manifest.ReadFrom(Stream stream, IPropertyProvider propertyProvider)
   at NuGet.LocalPackage.ReadManifest(Stream manifestStream)
   at NuGet.ZipPackage.EnsureManifest()
   at NuGet.ZipPackage..ctor(Func`1 streamFactory, Boolean enableCaching)
   at NuGet.PackageDownloader.DownloadPackage(IHttpClient downloadClient, IPackageMetadata package)
   at NuGet.PackageDownloader.DownloadPackage(Uri uri, IPackageMetadata package)
   at NuGet.DataServicePackage.EnsurePackage(IPackageRepository cacheRepository)
   at NuGet.DataServicePackage.GetSupportedFrameworks()
   at NuGet.PackageRepositoryExtensions.<>c__DisplayClass2e.<SupportsTargetFrameworks>b__2d(FrameworkName t)
   at System.Linq.Enumerable.Any[TSource](IEnumerable`1 source, Func`2 predicate)
   at NuGet.PackageRepositoryExtensions.SupportsTargetFrameworks(IEnumerable`1 targetFramework, IPackage package)
   at NuGet.PackageRepositoryExtensions.<>c__DisplayClass2b.<GetUpdatesCore>b__26(<>f__AnonymousType19`2 <>h__TransparentIdentifier22)
   at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
   at System.Linq.Lookup`2.Create[TSource](IEnumerable`1 source, Func`2 keySelector, Func`2 elementSelector, IEqualityComparer`1 comparer)
   at System.Linq.GroupedEnumerable`3.GetEnumerator()
   at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
   at Microsoft.WebMatrix.NuGet.FilterManager.AddPackagesToFilter(ListViewFilter filter, IEnumerable`1 packages, PackageViewModelAction packageAction)
   at Microsoft.WebMatrix.NuGet.FilterManager.<>c__DisplayClass7.<UpdateFilterWithResult>b__6(Task`1 task)
   at System.Threading.Tasks.ContinuationTaskFromResultTask`1.InnerInvoke()
   at System.Threading.Tasks.Task.Execute()

【问题讨论】:

  • 你有什么运气吗?
  • 还没有 - 但我承认我还没有回到那个问题 - 做其他事情。我希望这个周末能回来。

标签: .net nuget webmatrix


【解决方案1】:

我刚刚遇到了同样的错误消息。解决方案是清除 NuGet 包缓存并重试。

有关如何清除 NuGet 包缓存 here 的更多信息。

【讨论】:

  • 清除缓存的选项需要您运行 Visual Studio,然后打开“选项”面板。我这样做了,然后回到 WebMatrix 3 并发现要安装 Nuget 扩展的新更新。我这样做了,重新启动了 WebMatrix,然后进入 Nuget 包管理器并尝试更新 16 个需要更新的包。这在过去失败了,但这次,他们都奏效了。无论是清除缓存、寻找要安装的新版本的 NuGet 扩展,还是两者兼而有之,问题现在都已解决。非常感谢!
【解决方案2】:

为了解决这个问题,我指向了官方https://nuget.org/api/v2 来源。

执行以下操作:

  1. 在 Webmatrix 应用程序中,单击 NuGet 图标
  2. 小弹窗左下方有一个字段,当前显示“WebMatrix Package Source”,点击下拉,点击Add Source。
  3. 输入以下内容: 名称 - NuGet 官方包源 网址 - https://nuget.org/api/v2
  4. 现在该字段应显示“NuGet 官方包源”

这将消除错误。

【讨论】:

    猜你喜欢
    • 2019-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多