2017-04-01 21 views
1

今すぐ "x86"と "x64"フォルダが、 "SQLite.Interop.dll"ファイルを含むReleaseフォルダのルートに作成されます。同様に、SQLiteライブラリの他のdllファイルもルートにあります。すべてのSQLiteの必要なファイルをルート内のサブフォルダ(例:Release \ SQLite)に配置して、すべてが機能することを確認するにはどうすればよいですか?.NETプロジェクト内のSQLiteライブラリファイルをサブディレクトリに移動する方法ouput?

+0

それはどのように動作しませんか?なぜあなたは他の場所でファイルを必要としますか? – Sentry

+0

私のルートディレクトリをきれいに保つだけです。アプリケーションに関連する他のファイルがあります。私はサードパーティ製のlibファイルに干渉させたくありません。 –

+0

次に、ほとんどのリファレンスやパッケージはバイナリフォルダにDLLファイルを置くので、SQLiteを使用するよりも一般的です。 .NETアプリケーションの展開戦略を探します。 – Sentry

答えて

0

それはNuGetパッケージマネージャは、内部の「SQLite.Interop.dll」ファイルを使用してこれらのフォルダを配置されています。私はちょうど自分自身でのSQLiteへの参照を追加し、「SQLite.Interop.dllは」(それなしで動作します)ので、彼らは、binディレクトリにコピーしないことをfalseに参照のCopy Localプロパティを設定することを含んでいませんでした。次に、ライブラリを手動で望むようなサブディレクトリに配置しました。その後、probing pathApp.configに入れるだけで、実行時に指定されたサブディレクトリ内のアセンブリが検索されるようになりました。このアプローチで

<runtime> 
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
     <probing privatePath="MySubdirectory1;MySubdirectory2"/> 
    </assemblyBinding> 
</runtime> 

1は、手動で出力ディレクトリにライブラリをコピーする必要がありますが、この価値は、それのルートディレクトリはきれいであることを。

関連する問題