代码之家  ›  专栏  ›  技术社区  ›  kofifus

强制vs使用较低版本的程序集

  •  0
  • kofifus  · 技术社区  · 7 年前

    这是一个一般性的问题,但我将描述我的特定场景——我的项目是VS19中的.NET核心3.0信号控制台应用程序(与VS17相同)。

    在升级到核心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 因为某种原因,是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> ,相同结果:(

    有什么帮助吗?

    1 回复  |  直到 7 年前
        1
  •  1
  •   Simply Ged Saeed    7 年前

    一些 .NET Core 主服务器上没有预发布库 NuGet 饲料。您需要将nightly/dev提要添加到 纽戈 包源,希望它在那里是可用的。

    饲料是:

    ASP.NET核心

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

    网络核心

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

    将源添加到Visual Studio

    1. 在项目的Manage Nuget Packages窗口中,单击右上角的COG。
    2. 在“新建”对话框中,单击右上角的红色“X”
    3. 将上面的URL粘贴到“source”tex框中
    4. 为源命名(例如ASP.NET核心开发)
    5. 单击更新
    6. 确保提要位于列表的底部(因此这是最后一个用于包的提要)
    7. 单击确定

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