Uruchom msbuild Foo.sln /t:Rebuild /v:diag
(z C:\Program Files (x86)\MSBuild\12.0\bin
), aby zbudować rozwiązanie z wiersza polecenia i uzyskać trochę więcej szczegółów, a następnie znajdź to, .csproj.
które rejestruje ostrzeżenie i sprawdź jego odniesienia i odniesienia do innych projektów, które używają tego samego wspólnego zestawu, który różni się wersją.
Edycja: Możesz także ustawić szczegółowość kompilacji bezpośrednio w VS2013. Przejdź do Tools
> Options
menu, a następnie przejdź do Projects and Solutions
i ustaw opcję Szczegółowość MSBuild na Diagnostic
.
Edycja: Kilka wyjaśnień, ponieważ sam je dostałem. W moim przypadku ostrzeżenie było spowodowane tym, że dodałem referencję za pomocą monitu Resharper, w przeciwieństwie do okna dialogowego Dodaj referencję, co sprawiło, że nie było wersji, mimo że można wybrać zarówno wersję v4, jak i wersję 12.
<Reference Include="Microsoft.Build, Version=12.0.0.0, ..." />
<Reference Include="Microsoft.Build.Framework" />
vs
<Reference Include="Microsoft.Build, Version=12.0.0.0, ..." />
<Reference Include="Microsoft.Build.Framework, Version=12.0.0.0, ..." />
W /v:diag
szczegółowym dzienniku MSBuild wyglądało to następująco. podając szczegóły, z którymi dwa odniesienia były sprzeczne:
There was a conflict between
"Microsoft.Build.Framework, Version=4.0.0.0, ..." and
"Microsoft.Build.Framework, Version=12.0.0.0, ...". (TaskId:16)
"Microsoft.Build.Framework, Version=4.0.0.0, ..." was chosen because it was primary and
"Microsoft.Build.Framework, Version=12.0.0.0, ..." was not. (TaskId:16)
References which depend on "Microsoft.Build.Framework, Version=4.0.0.0, ..."
[C:\...\v4.5.1\Microsoft.Build.Framework.dll]. (TaskId:16)
C:\...\v4.5.1\Microsoft.Build.Framework.dll (TaskId:16)
Project file item includes which caused reference "C:\...\v4.5.1\Microsoft.Build.Framework.dll". (TaskId:16)
Microsoft.Build.Framework (TaskId:16)
References which depend on "Microsoft.Build.Framework, Version=12.0.0.0, ..."
[C:\...\v12.0\Microsoft.Build.Framework.dll]. (TaskId:16)
C:\...\v12.0\Microsoft.Build.dll (TaskId:16)
Project file item includes which caused reference "C:\...\v12.0\Microsoft.Build.dll". (TaskId:16)
Microsoft.Build, Version=12.0.0.0, ... (TaskId:16)
C:\...\v12.0\Microsoft.Build.Engine.dll (TaskId:16)
Project file item includes which caused reference "C:\...\v12.0\Microsoft.Build.Engine.dll". (TaskId:16)
Microsoft.Build, Version=12.0.0.0, ... (TaskId:16)
C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets(1697,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.
[C:\Users\Ilya.Kozhevnikov\Dropbox\BuildTree\BuildTree\BuildTree.csproj]