Я использую NServiceBus в сложном решении (более 150 проектов, многие из которых используют NSB). До прошлой ночи, когда я больше не мог этого выносить, у каждого проекта были свои целевые каталоги (./bin/debug и ./bin/release). Из-за зависимостей между моими проектами я много раз строил и перестраивал одни и те же двоичные файлы, поэтому мы решили перейти на общий выходной каталог для всего, что значительно улучшает время сборки решения. До сих пор так хорошо ...NServiceBus, похоже, относится к версии 2.0.0.0 с помощью Ionic.Zip.dll
Однако, когда я попытался запустить свой проект, он не начнет давать мне ошибку:
Warning 1 : 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:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets 1697 5 My.Assembly.Goes.Here
Мм, о. Таким образом, я послушно увеличивайте многословие журнала, очистить и восстановить весь беспорядок, чтобы найти это на выходе журнала:
30>------ Build started: Project: My.Assembly.Goes.Here, Configuration: Debug Any CPU ------
28>Building with tools version "12.0".
<Lots of stuff omitted...>
28> There was a conflict between "mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" and "mscorlib, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e, Retargetable=Yes".
28> "mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" was chosen because it was primary and "mscorlib, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e, Retargetable=Yes" was not.
28> References which depend on "mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" [C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.1\mscorlib.dll].
<etcetera...>
Out приходит Dependency Walker (отличный инструмент, кстати). ОК, так что в зависимости от старой версии 2.0? Посмотрите на все ссылки на mscorlib и ... Одна из этих вещей не походит на другие ...
NServiceBus.Hosting.Azure принимает зависимость от Ionic.Zip.dll, который, в свою очередь, принимает зависимость от версии mscorlib.dll 2.0.0.0. Уч. FWIW, версия NServiceBus.Hosting.Azure, которая делает это 5.3.2.0.
Это выглядит для меня быть похожим на вопрос здесь: https://github.com/Particular/NServiceBus/issues/664
Могу ли я обойти это с Ассамблеи Binding Перенаправление? Есть ли какой-то способ для меня, чтобы NSB сообщил Ionic.Zip.dll, что версия mscorlib.dll 4.0.0.0 в порядке, спасибо вам большое?
Или это ошибка NSB?
Заранее спасибо.
Мы открыли [вопрос здесь] (https: // GitHub .com/Особый/NServiceBus.Host.AzureCloudService/issues/38) –
Спасибо Шон. Любые обновления по времени для патча оцениваются. Мы находимся в блоке здесь - исследуем другие пути (возможно, придется обновлять NSB до V5, но это тяжелый подъем в этот момент для нас). –