2012-05-01 16 views
3

私はVS 2010ソリューションを整理しようとしています。私の背を握っている1つの領域は、アンマネージDLLの使用です。 DLLは管理されていないため、参照として追加することはできません。以前のアプローチは、Pre/Postビルドイベント中に "lib"フォルダから出力フォルダにDLLをxcopyすることでした。これの欠点は、すべてのビルドで発生する不要なコピーであり、クリーン操作でも出力フォルダからDLLが削除されることはありませんでした。出力ディレクトリにアンマネージDLLを展開する

私の理想的な解決策は、DLLをVS libフォルダに統合し、「新しい場合にコピー」機能を使用することです。しかし、VSは出力フォルダにlibフォルダを作成し、そこにDLLを配置します。私は、プロジェクトツリーのトップレベルにDLLを置くことを好まないことに注意してください。多くのDLLがあり、これはプロジェクトを汚染しているようです。

答えて

1

ビルドステップを投稿するには、xcopy /d(最新の場合はコピーのみ)を使用し、How to create custom clean (post-clean) event in Visual Studio 2008?のような手順を使用してカスタムクリーンを実装します。

各ケースでリストを取得して実行するだけで、ファイルの重複リストを避けることができます。

事前イベントを構築しているだけでバッチスクリプト

であり、あなたはクリーンなステップが上の作品リストを作成するのMSBuildバッチ処理を使用することができます。

VSの事前ビルドステップの代わりにソースからターゲットにファイルをコピーする、事前ビルドステップをmsbuildスクリプトに書き込むことができます。

+0

この場合、すべてのアンマネージDLLの2つのリストが必要です.1つはxcopyルーチンで、もう1つはクリーンイベントです。もっと良い方法があるはずです... –

+0

時には工学には美的感覚に魅力を感じさせないワイヤーが突き出ていることがあります。もちろん、必要なだけの拡張機能を開発することができますが、どのようなコストで:-) –

関連する問題