Właśnie spędziłem trochę czasu debugując ten sam problem. Zauważ, że ten problem może nie dotyczyć różnych projektów, ale w rzeczywistości między kilkoma referencjami w jednym projekcie, które zależą od różnych wersji tego samego dll / zestawu. W moim przypadku problemem było odniesienieFastMember.dll
niedopasowanie wersji które pochodzi z dwóch różnych pakietów NuGet w jednym projekcie. Kiedy dostałem projekt, nie skompiluje się, ponieważ brakuje pakietów NuGet, a VS odmówił przywrócenia brakujących pakietów. Za pomocą menu NuGet ręcznie aktualizuję wszystkie NuGety do najnowszej wersji, czyli wtedy, gdy pojawiło się ostrzeżenie.
W Visual Studio Tools > Options > Build and Run > MSBuld Project build output verbosity: (set to) Diagnostics.
Poszukaj linii There was a conflict between
w Output
oknie. Poniżej znajduje się część wyników, którą otrzymałem:
1> There was a conflict between "FastMember, Version=1.5.0.0, Culture=neutral, PublicKeyToken=null" and "FastMember, Version=1.3.0.0, Culture=neutral, PublicKeyToken=null". (TaskId:19)
1> "FastMember, Version=1.5.0.0, Culture=neutral, PublicKeyToken=null" was chosen because it was primary and "FastMember, Version=1.3.0.0, Culture=neutral, PublicKeyToken=null" was not. (TaskId:19)
1> References which depend on "FastMember, Version=1.5.0.0, Culture=neutral, PublicKeyToken=null" [C:\Users\ksd3jvp\Source\Temp\AITool\Misra\AMSAITool\packages\FastMember.1.5.0\lib\net461\FastMember.dll]. (TaskId:19)
1> C:\Users\ksd3jvp\Source\Temp\AITool\Misra\AMSAITool\packages\FastMember.1.5.0\lib\net461\FastMember.dll (TaskId:19)
1> Project file item includes which caused reference "C:\Users\ksd3jvp\Source\Temp\AITool\Misra\AMSAITool\packages\FastMember.1.5.0\lib\net461\FastMember.dll". (TaskId:19)
1> FastMember, Version=1.5.0.0, Culture=neutral, processorArchitecture=MSIL (TaskId:19)
1> References which depend on "FastMember, Version=1.3.0.0, Culture=neutral, PublicKeyToken=null" []. (TaskId:19)
1> C:\Users\ksd3jvp\Source\Temp\AITool\Misra\AMSAITool\packages\ClosedXML.0.94.2\lib\net46\ClosedXML.dll (TaskId:19)
1> Project file item includes which caused reference "C:\Users\ksd3jvp\Source\Temp\AITool\Misra\AMSAITool\packages\ClosedXML.0.94.2\lib\net46\ClosedXML.dll". (TaskId:19)
1> ClosedXML, Version=0.94.2.0, Culture=neutral, processorArchitecture=MSIL (TaskId:19)
Zauważ, że Project file item includes which caused reference "C:\Users\ksd3jvp\Source\Temp\AITool\Misra\AMSAITool\packages\ClosedXML.0.94.2\lib\net46\ClosedXML.dll"
ClosedXML.dll
pochodzi z ClosedXML
NuGet i zależy od tego FastMember.dll 1.3.0.0
. Na FastMember
dodatek w projekcie jest także Nuget i tak też jest FastMember.dll 1.5.0.0
. Niedopasowanie!
Odinstalowałem ClosedXML
i FastMember
NuGets, ponieważ miałem przekierowanie wiązania i zainstalowałem najnowszą wersję, ClosedXML
która naprawiła problem!