У нас есть проект веб-сайта .NET 4, созданный с использованием Visual Studio 2013, он ссылается на System.Net.Http .dll.
Это строка в web.config, которая загружает .dll:
<add assembly="System.Net.Http, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
Проект строится нормально, но когда мы пытаемся «Опубликовать веб-сайт», он выдает следующую ошибку:
Имя типа или пространства имен «Http» не существует в пространстве имен «System.Net» (вам не хватает ссылки на сборку?)
Похоже, что сборка может загружаться из GAC, мы попытались поместить сборку в папку BIN приложения, но это не имеет значения — она по-прежнему отображается как ссылка GAC на страницах свойств проекта.
Мы также пытались добавить:
<runtime>
<assemblyBinding>
<dependentAssembly>
<assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
<codeBase version="1.0.0.0" href="/bin/System.Net.Http.dll"/>
</dependentAssembly>
</assemblyBinding>
As suggested here: Could not load file or assembly System.Web.Http.WebHost after published to Azure web site
Но это, похоже, тоже не работает.
Мы изменили целевую структуру на версии 3.5 и 4.5, но безрезультатно.
Мы пробовали публиковать с нескольких разных машин.
РЕДАКТИРОВАТЬ: мы попробовали предложение пакета nuget в RobAda, и оно не дало желаемого эффекта, мы все еще получаем ошибки.