visual-studio - 强制 VS 使用较低版本的程序集
问题描述
这是一个普遍的问题,但我将描述我的具体场景 - 我的项目是 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'
我的理解是,尽管 nuget 的最高版本Microsoft.AspNetCore.Http.Connections.Common
是 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>
但什么都没有改变。我也试过<SpecificVersion>True</SpecificVersion>
,同样的结果:(
有什么帮助吗?
解决方案
一些预发布库在主提要.NET Core
中不可用。NuGet
您需要将 nightly/dev 提要添加到您的NuGet
包源中,并且希望它应该在那里可用。
饲料是:
ASP.NET 核心
https://dotnet.myget.org/gallery/aspnetcore-dev
.NET 核心
https://dotnet.myget.org/F/dotnet-core/api/v3/index.json
将源添加到 Visual Studio
- 在项目的“管理 NuGet 包”窗口中,单击右上角的 cog。
- 在新对话框中单击右上角的红色“x”
- 将上面的 URL 粘贴到“源”文本框中
- 为提要命名(例如 ASP.NET Core Dev)
- 点击更新
- 确保提要位于列表底部(所以这是最后一个用于包裹的提要)
- 点击确定
现在,您可以将 NuGet 窗口中的包源更改为您的新提要或“全部”,然后单击“包含预发布”以查看包的预发布版本。
推荐阅读
- php - 我的网站缓存没有更新。它一直显示旧版本
- syntax-error - 错误消息 - 初始化列表时出现“需要右括号”
- vb.net - 设置多值参数时,rdlc 报告显示空白
- node.js - 如何用玩笑模拟猫鼬链接查询
- javascript - 从本地目录 React 中的文件夹导入文件
- intellij-idea - Rubymine:终止 STDIN 后无法从 STDOUT 读取
- c# - 可空外键上的级联删除
- html - 在 Flask 路由中使用变量时如何修复 CSS 404 错误
- java - 来自Spring Boot中函数参数的Concat @Query值
- python - 用于打印的 Python 字典键格式不适用于数字字符串