2016-03-20 13 views
0

私はdllへの外部呼び出しを行うWindowsフォームアプリケーションを持っています。 このDLLがアプリケーションのサブディレクトリ(PATH環境変数を使用して)からロードされると、ディレクトリアクセスの問題で次のメソッドで失敗します(外部メソッドはdllディレクトリに一時ファイルを書き込む必要があります):DllImportパーミッション

[DllImport("DarumaFrameWork.dll", SetLastError = true)] 
public static extern int tCFEncerrar_NFCe_Daruma(string pszMsgPromocional); 

アプリケーションディレクトリからdllを読み込むと、正しく動作します。私はそれがアクセス許可のためだと信じています。外部メソッドを定義する方法は、それ自身のdllディレクトリにアクセスする必要がありますか?

+2

dllは、DLLを呼び出すアプリケーションとそのアクセス許可を共有します。これは、権限はプロセスにしか与えられないためです。 dllに異なる権限を与えることはできません。 – wimh

答えて

0

VSを管理者として開始してください。 VS内で構築して実行するものは、VSの許可を共有します。