Python para .NET: ¿Cómo crear explícitamente instancias de clases de C # usando diferentes versiones de la misma DLL?

Tengo un archivo .cs como

namespace SomeNamepace
{


    public struct SomeStruct
    {
        ....
    }

    public static class SomeClass
    {
        ....
    }

Hasta ahora lo uso con PythonNET como

import clr
clr.AddReference('c:\\Test\Module.dll')
from SomeNamepace import SomeClass, SomeStruct

SomeClass.SomeMethod(...)

Mi problema ahora es que necesito trabajar con dlls con nombres idénticos y sin número de versión establecido, por lo que PythonNET no los verá como dos dlls diferentes, sino como el mismo. Incluso si los importo usando la ruta completa con AddReference.

Ahora me gustaría usarlos explícitamente como se indica aquí:

Python para .NET: uso del mismo ensamblado .NET en varias versiones

me gusta

lib = clr.AddReference('c:\\Test\Module.dll')

Intenté muchas cosas para crear una instancia deSomeClass me gusta

lib.SomeNamespace.SomeClass()

o

import System
System.Activator.CreateInstance(lib.GetType('SomeNamespace.SomeClass'))

o usando los métodosInitialize oCreateInstance

o como se menciona en el siguiente enlace

from System import Type
type1 = lib.GetType('SomeNamespace.SomeClass')
constructor1 = type1.GetConstructor(Type.EmptyTypes)    

Al final todo falló, algo no encontrado, no tiene método, etc. etc.

¿Cuál sería la sintaxis correcta para hacer esto?

Respuestas a la pregunta(1)

Su respuesta a la pregunta