Witam,
Program jest uruchamiany zewnętrznie przez inny program (starter), a główny plik programu jest usuwany (program działa w pamięci z wczytanej dllki).
System.InvalidOperationException: Dokument XML zawiera błąd (0, 0). ---> System.TypeInitializationException: Inicjator typów zgłosił wyjątek dla typu 'Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderHashcode'. ---> System.IO.FileLoadException: Nie można załadować pliku lub zestawu 'Slanter, Version=0.8.9.0, Culture=neutral, PublicKeyToken=null' lub jednej z jego zależności. Zlokalizowana definicja manifestu zestawu nie odpowiada odwołaniu do zestawu. (Wyjątek od HRESULT: 0x80131040)
Nazwa pliku: 'Slanter, Version=0.8.9.0, Culture=neutral, PublicKeyToken=null'
w System.Reflection.Assembly._GetType(String name, Boolean throwOnError, Boolean ignoreCase)
w System.Reflection.Assembly.GetType(String name)
w Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderHashcode..cctor()Informacje o stanie sprzed powiązania
DZIENNIK: User = Slynx-PC\Slynx
DZIENNIK: DisplayName = Slanter, Version=0.8.9.0, Culture=neutral, PublicKeyToken=null
(Fully-specified)
DZIENNIK: Appbase = file:///C:/Nowy folder/
DZIENNIK: DEVPATH = C:\ProgramData\Red Gate.NET Reflector\DevPath
DZIENNIK: Initial PrivatePath = NULL
Zestaw wywołujący: (Unknown).DZIENNIK: to powiązanie zaczyna się w kontekście ładowania default.
DZIENNIK: nie znaleziono pliku konfiguracyjnego aplikacji.
DZIENNIK: użycie pliku konfiguracyjnego komputera z C:\Windows\Microsoft.NET\Framework\v2.0.50727\config\machine.config.
DZIENNIK: zasady nie są stosowane do odwołania w tym momencie (prywatne, niestandardowe, częściowe lub oparte na lokalizacji powiązanie zestawu).
DZIENNIK: prba pobrania nowego adresu URL file:///C:/Nowy folder/Slanter.DLL.
DZIENNIK: prba pobrania nowego adresu URL file:///C:/Nowy folder/Slanter/Slanter.DLL.
DZIENNIK: prba pobrania nowego adresu URL file:///C:/Nowy folder/Slanter.EXE.
OSTRZEŻENIE: porwnanie nazwy zestawu dało w wyniku niezgodność: NAME
BŁĄD: Nie można dokończyć instalacji zestawu (hr = 0x80131040). Sondowanie zakończone.
Problem, tak jak jest napisane w logu, polega na tym, że szuka typów w pliku którego nie ma. To do czego dążę to ustawienie tego tak by wszystko co potrzebne wczytał - z załadowanej wcześniej do pamięci - dllki.
Do deserializacji wykorzystuje taką funkcję
public static T Deserialize<T>(String xml)
{
var ser = new XmlSerializer(typeof(T), new[] { // Dodatkowe typy potrzebne przy deserializacji });
return (T)ser.Deserialize(new MemoryStream(Encoding.UTF8.GetBytes(xml)));
}
Proszę o szybką odpowiedź - to jedyny błąd który powstrzymuje mnie przed oddaniem programu w ręce testerów :/