2011-07-14 14 views
3

私は管理されたC#、C++ dllファイルの両方を持つライブラリを持っています。私はF#からそれを参照したい。 C#、C++のdllファイルはどこに置くことができますか?私はアプリケーションフォルダ(私はcopy local = falseを持っている必要があります)にそれらを配置することはできませんし、私はプログラムを使用する私だけになります。私はWindows/system32、セットアップを使用してGACを試して、すべてのdllファイルを持つフォルダを指すPATH変数を追加しますが、そのどれも動作していないようです。F#を使用して私のdllファイルを置く場所

+0

正直、なぜそれが最も意味があるのか​​(アプリケーションフォルダ)はありませんか?これは本当の制約ですか? –

+0

1つのアプリケーションを60箇所にコピーし、パラメトリックスタディと将来のアプリケーションのバックアップとして実行します。私が話しているdllは50 MB(VTK)なので、より多くのパラメトリック研究を実行するので、スペースが無駄です –

+0

dllが見つかるシステムへの検索パスを追加すると、問題。それが起こらない場合は、無料の優れたプロセスモニタを使用して、システムがどこからdllをロードしようとしているのかを確認し、そこに置くだけでよいのです。 – em70

答えて

0

Visual Studioでアプリケーションを構築し、それはすべてのデフォルトフォルダ内の参照を探し任意のヒントの

おかげで(あなたのOS、.NET Frameworkのバージョンや他のものに依存する)だけでなく、場所に指定しましたプロジェクト構成で使用します。ソリューションエクスプローラでプロジェクトを右クリックし、[プロパティ]をクリックして[参照パス]タブに移動します。 C:\ MyDllFolderなどを追加します。

これを行うには、そのDLLを使用しているすべてのアプリケーションで、一度そこに座っておくことができます。

+0

私はそれを試みましたが、すべてのdllに 'copy local = false'を設定しても、bin/releaseフォルダにコピーされます。 –

+0

はい、あなたは正しいです。 –

0

あなたはDLLの場所MSDN : Specifying an Assembly's Locationを指定するか、または多分あなたはダイナミクスをしたい場合

Assembly.LoadFrom 

のようなものを使用することができます。

関連する問題