VisualStudio和MSBuild决定NuGet软件包的版本低于运行时所需的版本

时间:2020-01-29 01:05:49

标签: msbuild dependencies nuget teamcity nuget-package

ASP.NET Core 2.2.0

本地Visual Studio还原+构建成功。

packages文件夹包含:

\Microsoft.Extensions.Options.ConfigurationExtensions.dll\2.0.2\

此包未直接引用-它是Serilog的依赖项。

TeamCity .NET CLI build step成功。

网站启动会引发运行时错误:

Application: TaskMonitor.exe
CoreCLR Version: 4.6.27110.4
Description: The process was terminated due to an unhandled exception.
Exception Info: System.IO.FileLoadException: Could not load file or assembly 'Microsoft.Extensions.Options.ConfigurationExtensions, Version=2.2.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60'. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
   at Microsoft.Extensions.Logging.LoggingBuilderExtensions.AddConfiguration(ILoggingBuilder builder, IConfiguration configuration)
   at Microsoft.AspNetCore.WebHost.<>c.<CreateDefaultBuilder>b__8_2(WebHostBuilderContext hostingContext, ILoggingBuilder logging)
   at Microsoft.Extensions.DependencyInjection.LoggingServiceCollectionExtensions.AddLogging(IServiceCollection services, Action`1 configure)
   at Microsoft.AspNetCore.Hosting.WebHostBuilderExtensions.<>c__DisplayClass7_0.<ConfigureLogging>b__0(WebHostBuilderContext context, IServiceCollection collection)
   at Microsoft.AspNetCore.Hosting.WebHostBuilder.BuildCommonServices(AggregateException& hostingStartupErrors)
   at Microsoft.AspNetCore.Hosting.WebHostBuilder.Build()
   at TaskMonitor.Program.Main(String[] args) in D:\TeamCity\buildAgent\work\e9ff385151b10e4c\Services\TaskMonitor\TaskMonitor\Program.cs:line 20

所以有人想要2.2.0

由于Serilog对版本> 2.0.0感到满意,所以我在2.2.0中添加了对.csproj的明确引用:

<PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="2.2.0" />

但是本地Visual Studio仍会像2.0.2那样决定版本TeamCity,因此应用程序无法启动并出现相同的错误。

0 个答案:

没有答案