problemiki / Visual Studio

Nie można załadować pliku lub zestawu lub jednej z jego zależności

Nie można załadować pliku lub zestawu %1 lub jednej z jego zależności. Zlokalizowana definicja manifestu zestawu nie odpowiada odwołaniu do zestawu. (Wyjątek od HRESULT: 0x80131040)

Taki oto niemiły błąd ostatnio mnie nawiedził w mojej webowej aplikacji.

Na początek można spróbować zmodyfikować rejestr poprzez dodanie klucza w katalogu rejestru HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Fusion.
DWORD EnableLog o wartości 1.
Restart IIS i mamy już sporo informacji:
=== Informacje o stanie sprzed powiązania ===
DZIENNIK: DisplayName = Newtonsoft.Json, Version=10.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed
(Fully-specified)
DZIENNIK: Appbase = file:///C:/Projects/TestProject/TestProject/TestProject/
DZIENNIK: Initial PrivatePath = C:\Projects\TestProject\TestProject\TestProject\bin
Zestaw wywołujący: Configurator.Services, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null.
===
DZIENNIK: to powiązanie zaczyna się w kontekście ładowania default.
DZIENNIK: użycie pliku konfiguracji aplikacji: C:\Projects\TestProject\TestProject\TestProject\web.config
DZIENNIK: użycie pliku konfiguracji hosta: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet.config
DZIENNIK: użycie pliku konfiguracji komputera z C:\Windows\Microsoft.NET\Framework64\v4.0.30319\config\machine.config.
DZIENNIK: odwołanie po zastosowaniu zasad: Newtonsoft.Json, Version=10.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed
DZIENNIK: próba pobrania nowego adresu URL file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/Temporary ASP.NET Files/root/627cf01a/280155f7/Newtonsoft.Json.DLL.
DZIENNIK: próba pobrania nowego adresu URL file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/Temporary ASP.NET Files/root/627cf01a/280155f7/Newtonsoft.Json/Newtonsoft.Json.DLL.
DZIENNIK: próba pobrania nowego adresu URL file:///C:/Projects/TestProject/TestProject/TestProject/bin/Newtonsoft.Json.DLL.
OSTRZEŻENIE: porównanie nazwy zestawu dało w wyniku niezgodność: wersja główna
BŁĄD: Nie można dokończyć instalacji zestawu (hr = 0x80131040). Sondowanie zakończone.

Należy pamiętać, aby po całej operacji wyłączyć logowanie w rejestrze. W przeciwnym przypadku będzie nam ono obciążało system.
Należy to zrobić poprzez usunięcie DWORD EnableLog lub zmiana wartości na 0.

Gdyby to jednak było mało można spróbować narzędzia pt: fuslogvw.exe.
Dla frameworka 4.6.1 to narzędzie znajduje się w katalogu:
C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools

Niestety nie udało mi się zmusić tego narzędzia do logowania wyjątków z mojej aplikacji, ale może kiedyś mi się uda :).

Ciekawy post na ten temat jest tutaj.

Leave a Reply

Your email address will not be published. Required fields are marked *