如何解决检测到的软件包降级警告

问题描述 投票:0回答:2

我一直因为一个非常烦人的问题而头撞砖墙。如果有人有任何想法那就太好了!我在 Visual Studio 2017 中,有一个 .net core 1.1 asp.net 网站。我正在使用 ravendb。问题是我收到 4 个构建警告,导致部署到 azure 失败。警告是:

警告检测到软件包降级:RavenDB.Client 从 3.5.35130-Unstable 到 3.5.4-patch-35202 ApiHubNunitTests (>= 1.0.0) -> ApiHub (>= 1.0.0) -> RavenDB.DependencyInjection (>= 1.0.0) -> RavenDB.Client (>= 3.5.35130-不稳定) ApiHubNunitTests (>= 1.0.0) -> ApiHub (>= 1.0.0) -> RavenDB.Client (>= 3.5.4-patch-35202)

警告检测到软件包降级:RavenDB.Client 从 3.5.35130-Unstable 到 3.5.4-patch-35202 ApiHub (>= 1.0.0) -> RavenDB.DependencyInjection (>= 1.0.0) -> RavenDB.Client (>= 3.5.35130-不稳定) ApiHub (>= 1.0.0) -> RavenDB.Client (>= 3.5.4-patch-35202)

警告 MSB3277 发现同一依赖程序集的不同版本之间存在无法解决的冲突。当日志详细程度设置为详细时,这些引用冲突会在构建日志中列出。 BlueSkyApiHub C:\Program Files (x86)\Microsoft Visual Studio�7\Community\MSBuild .0\Bin\Microsoft.Common.CurrentVersion.targets 1964

警告 MSB3277 发现同一依赖程序集的不同版本之间存在无法解决的冲突。当日志详细程度设置为详细时,这些引用冲突会在构建日志中列出。 ApiHubNunitTests C:\Program Files (x86)\Microsoft Visual Studio�7\Community\MSBuild .0\Bin\Microsoft.Common.CurrentVersion.targets 1964 版本

我打开了详细的构建输出并发现了这个:

“System.Net.Primitives,Version=4.0.10.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a”和“System.Net.Primitives,Version=4.0.11.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a”之间存在冲突。

还有这个

“Raven.Client.Lightweight,Version=3.5.4.0,Culture=neutral,PublicKeyToken=null”和“Raven.Client.Lightweight,Version=3.5.3.0,Culture=neutral,PublicKeyToken=null”之间存在冲突。

还有这个

“Raven.Client.UniqueConstraints,Version=3.5.4.0,Culture=neutral,PublicKeyToken=null”和“Raven.Client.UniqueConstraints,Version=3.5.3.0,Culture=neutral,PublicKeyToken=null”之间存在冲突。

还有一些都与ravendb相关。

我现在不知道该去哪里?有什么想法吗?

编辑:这是两个项目的 .csproj 文件

<Project Sdk="Microsoft.NET.Sdk.Web">
  <PropertyGroup>
    <TargetFramework>netcoreapp1.1</TargetFramework>
    <PackageTargetFallback>portable-net45+win8</PackageTargetFallback>
  </PropertyGroup>

  <ItemGroup>
    <Folder Include="wwwroot\" />
  </ItemGroup>
  <ItemGroup>
    <PackageReference Include="BCrypt.Net-Core" Version="1.4.0" />
    <PackageReference Include="Flurl.Http" Version="1.2.0-pre" />
    <PackageReference Include="Maqduni.AspNetCore.Identity.RavenDb" Version="1.3.34" />
    <PackageReference Include="Microsoft.ApplicationInsights.AspNetCore" Version="2.1.1" />
    <PackageReference Include="Microsoft.AspNetCore" Version="1.1.2" />
    <PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="1.1.2" />
    <PackageReference Include="Microsoft.AspNetCore.Mvc" Version="1.1.3" />
    <PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="1.1.2" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="1.1.2" />
    <PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="2.0.0-preview2-final" />
    <PackageReference Include="Microsoft.VisualStudio.Web.BrowserLink" Version="1.1.2" />
    <PackageReference Include="Newtonsoft.Json" Version="10.0.3" />
    <PackageReference Include="NodaTime" Version="2.2.0" />
    <PackageReference Include="RavenDB.Client" Version="3.5.4-patch-35202" />
    <PackageReference Include="RavenDB.Client.UniqueConstraints" Version="3.5.4-patch-35202" />
    <PackageReference Include="RavenDB.DependencyInjection" Version="1.0.0" />
    <PackageReference Include="System.IdentityModel.Tokens.Jwt" Version="5.1.4" />
  </ItemGroup>
  <ItemGroup>
    <DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="1.0.0-msbuild3-final" />
  </ItemGroup>
  <ItemGroup>
    <Content Update="appsettings.json">
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
    </Content>
  </ItemGroup>

</Project>

对于其他项目:

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>netcoreapp1.1</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="CompareNETObjects" Version="3.9.0" />
    <PackageReference Include="FakeItEasy" Version="4.0.0-beta001" />
    <PackageReference Include="Flurl.Http" Version="1.2.0-pre" />
    <PackageReference Include="MyTested.AspNetCore.Mvc.Universe" Version="1.1.0" />
    <PackageReference Include="Newtonsoft.Json" Version="10.0.3" />
    <PackageReference Include="NodaTime" Version="2.2.0" />
    <PackageReference Include="NUnit" Version="3.7.1" />
  </ItemGroup>

  <ItemGroup>
    <ProjectReference Include="..\BlueSkyApiHub\BlueSkyApiHub.csproj" />
  </ItemGroup>
</Project>
c# asp.net .net visual-studio-2017
2个回答
1
投票

我在这个问题上进行了大量的谷歌搜索,并尝试在 csproj 文件上添加各种命令,但对我来说没有任何作用。 我将我的软件包升级到.net core 2.0,然后遇到了软件包降级错误。

最后我做了以下事情:

  1. 拿了一份我的 csproj 的副本,记下我正在使用的确切软件包和版本。
  2. 从原始 cs proj 文件中删除了所有包。
  3. 在侧面保存并确认所有丢失包的构建错误,
  4. 确认这些包也已从引用列表中取消引用。
  5. 我手动开始一一重新添加aspnetcore包。

0
投票

从计算机上的 nuget 缓存中删除更高版本的 Nuget 包。对我来说,Nuget 缓存位于 $HOMEPATH/.nuget/packages 中。

© www.soinside.com 2019 - 2024. All rights reserved.