2009-04-08 18 views

risposta

12

No, non è possibile accedere alle librerie statiche direttamente da C#. È avere per utilizzare una DLL.

+2

Devo usare una DLL, ma Jon Skeet non deve, può compilare qualsiasi cosa. :) Grazie Jon. –

+0

Ciò deve essere possibile con il collegamento in runtime alla libreria statica e in qualche modo interpretare il file binario della libreria statica. Non conosco C# ma sono abbastanza sicuro che si possano leggere file binari con esso. –

+0

@Radek: E come si propone di eseguire il codice? Ci possono essere modi per farlo se sei disposto ad usare varie funzioni non gestite, ma a quel punto stai usando a malapena C#. –

1

Non c'è modo di farlo.

chiamare solo funzioni di DLL in fase di esecuzione o di creare un oggetto COM dalla libreria

2

"libreria statica" significa che la libreria sta per essere fusa con l'applicazione finale. Questo concetto non esiste in .net. .net supporta solo DLL.

14

Il modo di "utilizzare" una libreria statica in C# consiste nel creare innanzitutto un wrapper Managed C++ che fornirà una facciata per il resto del mondo gestito. Come tutti gli altri hanno già commentato, C# supporta solo DLL per P/Invoke.

+0

Concettualmente questo ha senso, ma supponiamo che le librerie statiche siano di terze parti e compilate con/MTd, come si incrocia in/MDd land richiesto per/CLI? – Ternary

Problemi correlati