Witam.
Mam aplikację napisaną w C# pod framerworkiem 4.0. Podniosłem jej wersję do framowerka 4.8.
I mam taki problem. Zewnętrzna dll'ka którą ładuję aby wywołać z niej pewne procedury w starej wersji działa prawidłowo, natomiast pod nowym frameworkiem podczas wywołania pierwszej metody z niej dostaję wyjątek:
„Próbowano załadować program w niepoprawnym formacie. (Wyjątek od HRESULT: 0x8007000B)”
Plik ani projekt nie zmieniły się (w projekcie został tylko podniesiony framework).
Poniżej deklaracja dll'ki:
[System.Runtime.InteropServices.DllImport("MFDLL.dll", EntryPoint = "initconnect",
CallingConvention = System.Runtime.InteropServices.CallingConvention.StdCall,
CharSet = System.Runtime.InteropServices.CharSet.Ansi)]
public static extern short iWintecInitconnect(StringBuilder path);
Wywołanie metody:
ProgrammerIWintec prms = (ProgrammerIWintec)Programmer;
StringBuilder sp = new StringBuilder(prms.SoftwareDirectory);
result = iWintecInitconnect(sp);
Czy coś zmieniło się pomiędzy frameworkami w wywołaniu zewnętrznych dll'ek?
Dll'ka jest ta sama, kod ten sam, tylko framework inny. Mam w konfigu aplikacji włączoną zgodność z frameworkiem 4.0.
Czy ktoś mógłby mi pomóc?