【问题标题】:Forcing VS to use an assembly with a lower version强制 VS 使用较低版本的程序集
【发布时间】:2019-05-17 09:32:24
【问题描述】:

这是一个一般性问题,但我将描述我的具体场景 - 我的项目是 VS19 中的 .NET Core 3.0 SignalR 控制台应用程序(与 VS17 相同)

在将所有内容升级到 Core 3.0 后,构建现在失败:

Error CS1705 Assembly 'Microsoft.AspNetCore.SignalR.Client' with identity
'Microsoft.AspNetCore.SignalR.Client, Version=3.0.0.0, Culture=neutral,
PublicKeyToken=adb9793829ddae60' uses 'Microsoft.AspNetCore.Http.Connections.Common, 
Version=3.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60' which has a higher version 
than referenced assembly 'Microsoft.AspNetCore.Http.Connections.Common' with identity 
'Microsoft.AspNetCore.Http.Connections.Common, Version=1.1.0.0, Culture=neutral,
PublicKeyToken=adb9793829ddae60'

我的理解是,尽管 Microsoft.AspNetCore.Http.Connections.Common 的 nuget 最高版本为 1.0.0.0,但出于某种原因,Microsoft.AspNetCore.SignalR.Client 需要 3.0.0.0,但该版本尚不存在。

如何让 VS 使用 Microsoft.AspNetCore.Http.Connections.Common 1.0.0.0 代替?

我尝试在我的 csproj 中将特定版本添加到参考中:

<PackageReference Include="Microsoft.AspNetCore.Http.Connections.Common" Version="1.1.0">
  <SpecificVersion>False</SpecificVersion>
</PackageReference>

但没有任何改变。我也试过&lt;SpecificVersion&gt;True&lt;/SpecificVersion&gt;,结果一样:(

有什么帮助吗?

【问题讨论】:

  • 不应该将SpecificVersion 设置为True
  • 谢谢!同样的结果,更新了我的问题
  • 这里有一些 netcore 库的 dev 提要:dotnet.myget.org/f/aspnetcore-dev 您可以将其添加到您的 nuget 提要列表中,您应该能够找到 3.0.0 预发布版本
  • 哦..如何添加到 VS 中的 nuget 提要列表?
  • 在 VS 中,打开 Manage Nuget packages 窗口,点击右上角的 'cog' 可以在对话框中添加提要(点击红色的 + 并添加到列表底部)

标签: visual-studio asp.net-core .net-core visual-studio-2017 asp.net-core-2.0


【解决方案1】:

某些.NET Core 预发布库在NuGet 主提要中不可用。您需要将 nightly/dev 提要添加到您的 NuGet 包源中,希望它应该在那里可用。

提要是:

ASP.NET Core

https://dotnet.myget.org/gallery/aspnetcore-dev

.NET Core

https://dotnet.myget.org/F/dotnet-core/api/v3/index.json

将提要添加到 Visual Studio

  1. 在项目的“管理 NuGet 包”窗口中,单击右上角的 cog。
  2. 在新对话框中点击右上角的红色“x”
  3. 将上面的 URL 粘贴到“源”文本框中
  4. 为提要命名(例如 ASP.NET Core Dev)
  5. 点击更新
  6. 确保提要位于列表底部(因此这是最后一个用于包裹的提要)
  7. 点击确定

现在您可以将 NuGet 窗口中的包源更改为您的新提要或“全部”,然后单击“包含预发布”以查看包的预发布版本。

【讨论】:

  • 在右上角的“包源”旁边的包管理器中选择“全部”
  • 谢谢。我已经用附加链接更新了答案:-)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-05
  • 1970-01-01
  • 2010-10-01
  • 1970-01-01
  • 2021-05-02
相关资源
最近更新 更多