2009-04-08 9 views

Respuesta

12

No, no puede acceder a las bibliotecas estáticas directamente desde C#. Usted tiene para usar una DLL.

+2

Tengo que usar una DLL, pero Jon Skeet no tiene que hacerlo, puede compilar cualquier cosa. :) Gracias Jon. –

+0

Esto debe ser posible con el enlace de tiempo de ejecución a la biblioteca estática y de alguna manera interpretar el binario de la biblioteca estática. No sé C#, pero estoy bastante seguro de que uno puede leer archivos binarios con él. –

+0

@Radek: ¿Y cómo se propone ejecutar el código? Puede haber formas de hacerlo si está dispuesto a usar varias funciones no administradas, pero en ese momento apenas está usando C#. –

1

No hay manera de hacer eso.

llamar sólo a funciones DLL en tiempo de ejecución o crear un objeto COM de su biblioteca

2

"biblioteca estática" significa que la biblioteca va a fusionarse con su aplicación final. Este concepto no existe en .net. .net solo es compatible con DLL.

14

La manera de "usar" una biblioteca estática en C# es crear primero un contenedor administrado de C++ que proporcione una fachada para el resto del mundo administrado. Como todos los demás ya han comentado, C# solo admite archivos DLL para P/Invoke.

+0

Conceptualmente, esto tiene sentido, pero se supone que las bibliotecas estáticas eran de terceros y compiladas con/MTd, ¿cómo se cruza con/MDd para que se requiera/CLI? – Ternary

Cuestiones relacionadas