【发布时间】:2017-09-12 06:39:22
【问题描述】:
我有一个 asp.net Core 项目,我正在尝试向它添加一个记录器。 我选择了我在其他项目中使用的 SeriLog。
但是当我尝试添加“Serilog.AspNetCore”包版本 2.0.0 时,我得到了”
包还原失败。回滚“BackEnd”的包更改。
我的 csproj 包含以下设置:
<PropertyGroup>
<TargetFramework>netcoreapp2.0</TargetFramework>
<DockerComposeProjectPath>..\..\docker-compose.dcproj</DockerComposeProjectPath>
<AssemblyName>BackEnd</AssemblyName>
<RootNamespace>BackEnd</RootNamespace>
</PropertyGroup>
已经尝试清除所有nuget缓存,重建,重启VS
在 Win10、Visual Studio 2017 15.3.0 上运行
是否有日志可以为我提供更多详细信息,为什么我会收到此错误? 有什么建议可以解决吗?
*更新 - 详细的构建日志(感谢@Leo-MSFT):
...
检查 System.Security.Cryptography.Csp 4.3.0 与 .NETCoreApp,Version=v2.0 的兼容性。
检查 runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple 4.3.0 与 .NETCoreApp,Version=v2.0 的兼容性。
所有包和项目都兼容 .NETCoreApp,Version=v2.0。
检测到包降级:Microsoft.Extensions.DependencyInjection 从 2.0.0 到 1.1.1。直接从项目中引用包以选择不同的版本。
后端 (>= 1.0.0) -> Serilog.AspNetCore (>= 2.0.0) -> Microsoft.Extensions.DependencyInjection (>= 2.0.0)
后端 (>= 1.0.0) -> Microsoft.Extensions.DependencyInjection (>= 1.1.1)
包还原失败。回滚“BackEnd”的包更改。
经过的时间:00:00:01.4928161
==========完成==========
是的,它似乎与“Microsoft.Extensions.DependencyInjection”有关
【问题讨论】:
-
尝试手动将
<PackageReference Include="Serilog.AspNetCore" Version="2.0.0"/>添加到您的.csproj 中,然后执行dotnet restore -
输出窗口的详细安装日志是什么?您可以将 MSBuild 输出详细程度更改为详细或诊断,工具->选项->构建和运行->MSBuild 项目生成输出详细程度。
-
我也试过了,但我得到:“正在恢复 NuGet 包... NuGet 包恢复失败。”
-
@Leo-MSFT 感谢您的输入,我添加了构建日志.. 似乎与“Microsoft.Extensions.DependencyInjection”不匹配版本有关
标签: .net asp.net-core nuget visual-studio-2017 serilog