Strona główna > .NET, Azure > Could not load file or assembly ‚file:///C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\e91591d2\f8155836\App_global.asax.e90_8bf1.dll’ or one of its dependencies. An attempt was made to load a program with an incorrect format.

Could not load file or assembly ‚file:///C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\e91591d2\f8155836\App_global.asax.e90_8bf1.dll’ or one of its dependencies. An attempt was made to load a program with an incorrect format.

I to by było tyle z szczęśliwego dnia. Jak człowiek widzi takie coś to w sumie nawet myśl o tym, że to dopiero rano, jeszcze kawa niedopita nie pomaga w relaksie. Patrząc na to nic nie wiadomo, a możliwych problemów, które mogły to wywołać co najmniej kilka. To jak z bólem głowy, wiadomo, że boli – ale powodów może być wiele.

Do konkretów

99% przypadków to to, że mamy biblioteki 32bitowe w projekcie 64bitowym. Dobrze, że w odpowiedni sposób nam kompilator powiedział o tym, bo przecież inaczej byśmy się nie domyślili:

image

Co możemy z tym zrobić? Zależy od tego gdzie finalnie aplikacja wyląduje, jeżeli po prostu na naszym serwerze w firmie / komputerze to wystarczy przestawić jedną flagę w IIS:

Wchodzimy do IIS Manager i szukamy parametru Enable 32-Bit Applications przestawiając go na True w Advanced Settings  puli aplikacji, gdzie mamy zainstalowaną naszą stronę.

Jeżeli rozwiązanie ma wylądować w Azure to należy wybrać się z wizytą do pliku konfiguracyjnego projektu Cloud i zmienić jedną rzecz:

image

dodajemy enableNativeCodeExecution=”true”

Jeżeli to nie działa, to znaczy, że może przyczyna istnieje w tym, że Visual Studio nie do końca dobrze sprząta po sobie – znaczy po testach wydajności aplikacji, które przeprowadzaliśmy. Poszukajmy, czy czasem w web.config nie mamy czegoś takiego…

assemblyPostProcessorType="Microsoft.VisualStudio.Enterprise.Common.AspPerformanceInstrumenter, Microsoft.VisualStudio.Enterprise.AspNetHelper, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"

Jak mamy to usuwamy wpis, odpinamy bibliotekę z referencji i sprawdzamy…

Prawda, że proste?

Kategorie:.NET, Azure Tagi: , ,
  1. Brak komentarzy.
  1. No trackbacks yet.

Skomentuj

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Log Out / Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Log Out / Zmień )

Facebook photo

Komentujesz korzystając z konta Facebook. Log Out / Zmień )

Google+ photo

Komentujesz korzystając z konta Google+. Log Out / Zmień )

Connecting to %s

%d blogerów lubi to: