У меня здесь какая-то странная проблема, у меня есть программное обеспечение, которое обычно создается в Visual Studio, все ссылки добавлены с помощью NuGet, а Newtonsoft.Json.dll находится в папке пакетов, а также указывает на эту папку.
При сборке сервера сборки мы заметили сбои тестов и, пойдя дальше, обнаружили, что скопированная Newtonsoft.Json.dll на самом деле была неправильной, из папки Blend.
Из журнала сборки:
Копирование файла из "D:\APPS\Microsoft Visual Studio 12.0\Blend\Newtonsoft.Json.dll" в "D:\TB\2\PLWRO-WebPP\WebPP-Main-Dev-CI\bin\Newtonsoft.Json.dll" ".
Чтобы решить эту проблему, я переименовал Newtonsoft.Json.dll из папки blend в другую вещь, после чего сборка заработала нормально, как и ожидалось.
Мой вопрос: ПОЧЕМУ?!?!? Похоже, сборка ищет ссылки раньше в папке Blend, а не в заданном месте в пути подсказки — см. ниже.
<Reference Include="Newtonsoft.Json, Version=4.5.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\packages\Newtonsoft.Json.7.0.1\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>