У меня есть некоторые странные проблемы здесь, у вас есть программное обеспечение, которое обычно создается в Visual Studio, все ссылки, где добавлены с помощью NuGet, и Newtonsoft.Json.dll находится в папка пакетов, а также ссылки на эту папку.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 для другой вещи, а затем сборка получила нормальную работу, как ожидалось.
Мой вопрос: WHYYY?!?!? Кажется, что сборка ищет ссылки в папке 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>
Фактически v4.5.0.0 относится к правильному пакету, если вы попытаетесь добавить пакет, вы также увидите эту версию в «Включить». Почему «частное» как «истинное» должно работать? И почему это должно быть иначе только для этого пакета? – Fabito