des*_*lsj 7 c# msbuild visual-studio
我在构建项目时收到一个恼人的 MSB3277 警告。我将详细程度增加到“详细”,并且能够从日志中获取以下信息:
There was a conflict between "Pathoschild.Http.Client, Version=3.0.0.0, Culture=neutral, PublicKeyToken=null" and "Pathoschild.Http.Client, Version=3.1.0.0, Culture=neutral, PublicKeyToken=null".
"Pathoschild.Http.Client, Version=3.0.0.0, Culture=neutral, PublicKeyToken=null" was chosen because it was primary and "Pathoschild.Http.Client, Version=3.1.0.0, Culture=neutral, PublicKeyToken=null" was not.
References which depend on "Pathoschild.Http.Client, Version=3.0.0.0, Culture=neutral, PublicKeyToken=null" [C:\Users\desau\.nuget\packages\pathoschild.http.fluentclient\3.0.0\lib\netstandard1.3\Pathoschild.Http.Client.dll].
C:\Users\desau\.nuget\packages\pathoschild.http.fluentclient\3.0.0\lib\netstandard1.3\Pathoschild.Http.Client.dll
Project file item includes which caused reference "C:\Users\desau\.nuget\packages\pathoschild.http.fluentclient\3.0.0\lib\netstandard1.3\Pathoschild.Http.Client.dll".
C:\Users\desau\.nuget\packages\pathoschild.http.fluentclient\3.0.0\lib\netstandard1.3\Pathoschild.Http.Client.dll
References which depend on "Pathoschild.Http.Client, Version=3.1.0.0, Culture=neutral, PublicKeyToken=null" [].
C:\Users\desau\.nuget\packages\stronggrid\0.30.0\lib\netstandard1.3\StrongGrid.dll
Project file item includes which caused reference "C:\Users\desau\.nuget\packages\stronggrid\0.30.0\lib\netstandard1.3\StrongGrid.dll".
C:\Users\desau\.nuget\packages\stronggrid\0.30.0\lib\netstandard1.3\StrongGrid.dll
Run Code Online (Sandbox Code Playgroud)
如果我正确理解此日志,它会告诉我我的项目引用了 Pathoschild.Http.Client 3.0 版和 3.1 版。我理解对 3.1 版的引用,因为我的项目引用了一个名为 StrongGrid 的 nuget 包,它本身引用了 Pathoschild 3.1 版
但我不明白对 3.0 版的引用来自哪里。
我正在使用 Visual Studio 2017 和 MSBuild 15,以防万一这是有用的信息。
此问题的原因是该StrongGrid包的创作不正确。
该版本0.30的StrongGrid建成对版本3.1.0的Pathoschild.Http.FluentClient,但它们的.nuspec用于创建NuGet包仍列出的版本文件3.0.0的依赖性,所以消费项目将获取的旧版本,创建解决不了的冲突。
要解决这个问题,你可以明确的参考版本3.1.0的Pathoschild.Http.FluentClient加入了包参考的csproj文件覆盖的版本。
| 归档时间: |
|
| 查看次数: |
10507 次 |
| 最近记录: |