Мы используем VS 2013, создали новый веб-API MVC 4 и столкнулись с проблемой, что system.net.http.dll не является правильной версией при сборке на нашем сервере TeamCity, но она прекрасно работает на наших локальных компьютерах разработчиков, которыеустановили VS 2013.
Мы наконец решили проблему.
При создании нового веб-API MVC 4 и выборе платформы 4.0 при создании проекта мы нашли правильную версию пакета NuGet для DLL:помещается в: .. \ packages \ Microsoft.Net.Http.2.0.20710.0 \ lib \ net40 \ System.Net.Http.dll
Однако в файле .csproj для этого проекта указан путь к этой системеФайл .net.http.dll: .. \ packages \ Microsoft.Net.Http.2.0.30506.0 \ lib \ net40 \ System.Net.Http.dll
Поэтому при попытке сборки происходит сбойэта разница в пути, но она находит правильную версию фреймворка в другом месте на компьютере разработчика, но не на нашем сервере сборки TeamCity.
Пока это единственное различие, которое мы нашли.Изменение пути в файле .csproj и сборка на локальной машине Dev с VS2013 по-прежнему работает, find.
Проверка этого в управлении версиями и наличие нашего сервера сборки TeamCity (без локальной установки VS 2013) теперь находит правильную версию.dll в папке пакета NuGet для решения и выполняет успешную сборку вместо поиска другой версии system.net.http.dll и поиска более новой версии, которая не соответствует структуре, что приводит к сбоям сборки.
Не уверен, поможет ли это.
Проверьте путь к файлу вашего проекта для DLL и убедитесь, что он совпадает с путем к папке вашего пакета для DLL.