Попытка pinvoke и SXS. Контекст игнорируется и используется первая DLL
У меня есть две разные версии неуправляемой DLL и манифест для каждой. В моем коде C# я использую контексты активации, чтобы контролировать, какой из них используется. Затем я использую P Invoke, чтобы сделать реальный вызов. Похоже, что создание и активация контекста активации прошла успешно. Тем не менее, контекст, кажется, игнорируется, и тот, который вызывается сначала dll, используется обоими.
Можно ли использовать P Invoke с SxS? Или я настроил это неправильно?
Мое определение для функции C в коде C#:
[DllImport("MyMath.dll")]
private static extern double Add(double a, double b);
В моем манифесте есть только идентификатор сборки, который я добавил, и trustInfo, сгенерированный Visual Studio 2010.
<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
<assemblyIdentity name="MyMath.dll"
version="1.1.0.0"
type="win32"
processorArchitecture="x86"/>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel level='asInvoker' uiAccess='false' />
</requestedPrivileges>
</security>
</trustInfo>
</assembly>
Спасибо за помощь.
-Ник