ASP.NET Website Project се изгражда, но има грешки при публикуване

Имаме проект за уебсайт .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="/bg/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 и нямаше желания ефект, все още получаваме грешки.


person Mack    schedule 24.11.2015    source източник
comment
@coder, благодаря, че опитахме това и за съжаление, когато се опитаме, че проектът няма да се изгради поради наследен код - изглежда, че сме останали на 4.0 за момента.   -  person Mack    schedule 24.11.2015


Отговори (2)


Звучи сякаш се опитвате да подковате нещо там, където не става/не може да пасне.

Един възможен архитектурен подход би бил отделянето на функционалността в решение.

Ако ограниченията във времето са проблем и това е възможност, това може да е решението на вашите проблеми.

Въпреки това в дългосрочен план: Струва си да се уверите, че сте в крак с времето, тъй като ще получавате повече проблеми като този с течение на времето, разбира се, към това трябва да се подходи прагматично...

person VixterJ    schedule 24.11.2015
comment
Това е възможност, че приложението за доказателство за концепцията публикува добре и ние бихме могли да хостваме на отделен домейн, ще изпробваме това и ще се свържем с вас. - person Mack; 24.11.2015

Виждал съм същия проблем в приложение за приятели, трябваше да се поровим доста, но в крайна сметка открихме, че трябва да инсталирате този пакет nuget:

https://www.nuget.org/packages/Microsoft.Net.Http

След това ще трябва да добавите препратката към System.Net.Http, за да не генерира посочената грешка.

person RobAda    schedule 24.11.2015