どんなに奇妙に聞こえても、私はそれが必要です O_o さて、別の解決策です。ネイティブ DLL をバイト配列として RAM にロードすることが可能であれば、DllImport なしでそこから関数を呼び出します >_<
このように:
byte[] dll_data = File.RealAllBytes("native.dll"); //this is just example, in real architecture bytes comes from another source and should never be stored on HDD
//uhh... ohh... do something to call exported function named "WeirdNativeFunction"