我一直因为一个非常烦人的问题而头撞砖墙。如果有人有任何想法那就太好了!我在 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>
我在这个问题上进行了大量的谷歌搜索,并尝试在 csproj 文件上添加各种命令,但对我来说没有任何作用。 我将我的软件包升级到.net core 2.0,然后遇到了软件包降级错误。
最后我做了以下事情:
从计算机上的 nuget 缓存中删除更高版本的 Nuget 包。对我来说,Nuget 缓存位于 $HOMEPATH/.nuget/packages 中。