2017-01-20 18 views
5

Gram z aplikacją .Net Core, która działa poprawnie. Jednak dzisiaj stwierdziłem, że output zawiera ostrzeżenie. Po ustawieniu poziomu dziennika detailed znalazłem następujące:Konflikt między dwoma referencyjnymi złożeniami

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". 

Linia There was a conflict between "Microsoft.Extensions.DependencyModel.... Nie wiem, jak to ostro obejść, ponieważ używam tylko pakietu .Net standard 1.1 i System.Reflection.Emit od NuGet i nie odwołuję się do niczego innego.

Oczywiście, można po prostu zignorować to ostrzeżenie, ale patrząc na niektóre rozwiązania

+1

Jak mogę odtworzyć problem. Ponadto, jest podobny problem, który został naprawiony przez instalację Beta 1269. https://github.com/dotnet/cli/issues/5183 –

+0

@ ColeWu-MSFT spróbuj sklonować [to] (https: // github.com/Pzixel/RemoteClient) repozytorium i kompilacja. Powinieneś dostać ten sam błąd. I dziękuję za link, wydaje się, że został on poprawiony w wersji release (na wypadek, gdybyś był w stanie odtworzyć błąd z repo powyżej) –

Odpowiedz

3

zgodnie ze szczegółowymi dzienniku okazało się, że zależność „Microsoft.Extensions.DependencyModel, Version = 1.0.1.0, który jest wymagany przez Ale ta zależność z Version = 1.0.0.0 jest już zainstalowana

Kiedy więc skompilujemy projekt, ta zależność z Version = 1.0.0.0 zostanie wybrana, co spowoduje ten konflikt. NuGet, aby dodać zależność "Microsoft.Extensions.DependencyModel" z podaniem wersji = 1.0.1.0, aby rozwiązać ten problem z ostrzeżeniem:

+3

Jednak naprawdę trudno jest zrozumieć, dlaczego, podczas gdy ja tylko odwołuję się do dwóch standardowych pakietów, które są w konflikcie ze sobą. To nie moja zależność, to ich wewnętrzne elementy są w jakiś sposób zepsute. –

Powiązane problemy