【发布时间】:2017-06-05 07:54:06
【问题描述】:
我正在使用运行良好的.Net Core 应用程序。但是,今天我发现output 包含一个警告。将日志级别设置为detailed 后,我发现以下内容:
2> Dependency "Microsoft.Extensions.DependencyModel, Version=1.0.1.0, Culture=neutral, PublicKeyToken=adb9793829ddae60".
2> Could not resolve this reference. Could not locate the assembly "Microsoft.Extensions.DependencyModel, Version=1.0.1.0, Culture=neutral, PublicKeyToken=adb9793829ddae60". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors.
2> For SearchPath "C:\Users\Alex\.nuget\packages\microsoft.testplatform.testhost\15.0.0-preview-20161123-03\lib\netstandard1.5".
2> Considered "C:\Users\Alex\.nuget\packages\microsoft.testplatform.testhost\15.0.0-preview-20161123-03\lib\netstandard1.5\Microsoft.Extensions.DependencyModel.winmd", but it didn't exist.
2> Considered "C:\Users\Alex\.nuget\packages\microsoft.testplatform.testhost\15.0.0-preview-20161123-03\lib\netstandard1.5\Microsoft.Extensions.DependencyModel.dll", but it didn't exist.
2> Considered "C:\Users\Alex\.nuget\packages\microsoft.testplatform.testhost\15.0.0-preview-20161123-03\lib\netstandard1.5\Microsoft.Extensions.DependencyModel.exe", but it didn't exist.
2> For SearchPath "{CandidateAssemblyFiles}".
2> Considered "C:\Users\Alex\.nuget\packages\xunit.runner.visualstudio\2.2.0-beta4-build1194\build\netcoreapp1.0\xunit.runner.visualstudio.dotnetcore.testadapter.dll",
2> but its name "xunit.runner.visualstudio.dotnetcore.testadapter"
2> didn't match the expected name "Microsoft.Extensions.DependencyModel, Version=1.0.1.0, Culture=neutral, PublicKeyToken=adb9793829ddae60".
2> Considered "C:\Users\Alex\.nuget\packages\xunit.runner.visualstudio\2.2.0-beta4-build1194\build\netcoreapp1.0\xunit.runner.utility.dotnet.dll",
2> but its name "xunit.runner.utility.dotnet"
2> didn't match the expected name "Microsoft.Extensions.DependencyModel, Version=1.0.1.0, Culture=neutral, PublicKeyToken=adb9793829ddae60".
2> Required by "C:\Users\Alex\.nuget\packages\microsoft.testplatform.testhost\15.0.0-preview-20161123-03\lib\netstandard1.5\testhost.dll".
2> Required by "C:\Users\Alex\.nuget\packages\microsoft.testplatform.testhost\15.0.0-preview-20161123-03\lib\netstandard1.5\Microsoft.TestPlatform.CrossPlatEngine.dll".
2> There was a conflict between "Microsoft.Extensions.DependencyModel, Version=1.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60" and "Microsoft.Extensions.DependencyModel, Version=1.0.1.0, Culture=neutral, PublicKeyToken=adb9793829ddae60".
2> "Microsoft.Extensions.DependencyModel, Version=1.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60" was chosen because it was primary and "Microsoft.Extensions.DependencyModel, Version=1.0.1.0, Culture=neutral, PublicKeyToken=adb9793829ddae60" was not.
2> References which depend on "Microsoft.Extensions.DependencyModel, Version=1.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60" [C:\Users\Alex\.nuget\packages\microsoft.extensions.dependencymodel\1.0.0\lib\netstandard1.6\Microsoft.Extensions.DependencyModel.dll].
2> C:\Users\Alex\.nuget\packages\microsoft.extensions.dependencymodel\1.0.0\lib\netstandard1.6\Microsoft.Extensions.DependencyModel.dll
2> Project file item includes which caused reference "C:\Users\Alex\.nuget\packages\microsoft.extensions.dependencymodel\1.0.0\lib\netstandard1.6\Microsoft.Extensions.DependencyModel.dll".
2> C:\Users\Alex\.nuget\packages\microsoft.extensions.dependencymodel\1.0.0\lib\netstandard1.6\Microsoft.Extensions.DependencyModel.dll
2> References which depend on "Microsoft.Extensions.DependencyModel, Version=1.0.1.0, Culture=neutral, PublicKeyToken=adb9793829ddae60" [].
2> C:\Users\Alex\.nuget\packages\microsoft.testplatform.testhost\15.0.0-preview-20161123-03\lib\netstandard1.5\Microsoft.TestPlatform.CrossPlatEngine.dll
2> Project file item includes which caused reference "C:\Users\Alex\.nuget\packages\microsoft.testplatform.testhost\15.0.0-preview-20161123-03\lib\netstandard1.5\Microsoft.TestPlatform.CrossPlatEngine.dll".
2> C:\Users\Alex\.nuget\packages\microsoft.testplatform.testhost\15.0.0-preview-20161123-03\lib\netstandard1.5\testhost.dll
2> C:\Users\Alex\.nuget\packages\microsoft.testplatform.testhost\15.0.0-preview-20161123-03\lib\netstandard1.5\Microsoft.TestPlatform.CrossPlatEngine.dll
2> C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(1909,5): warning MSB3277: Found conflicts between different versions of the same dependent assembly that could not be resolved. These reference conflicts are listed in the build log when log verbosity is set to detailed.
2> Done executing task "ResolveAssemblyReference".
There was a conflict between "Microsoft.Extensions.DependencyModel... 行。我不知道如何解决这个警告,因为我只是使用来自NuGet 的.Net standard 1.1 和System.Reflection.Emit 包并且不引用任何其他内容。
当然,我可以忽略这个警告,但是寻找一些解决方案
【问题讨论】:
-
如何重现该问题。此外,这里有一个类似的问题,已通过安装 Beta 1269 修复。github.com/dotnet/cli/issues/5183
-
@ColeWu-MSFT 尝试克隆 this 存储库并构建。你应该得到同样的错误。并感谢您提供链接,它似乎已在发布版本中修复(以防您能够通过上面的 repo 重现错误)
标签: .net visual-studio msbuild .net-core .net-standard