私はビルドプロセスを改善しようとしています。そのためには、コピーローカルをオフにし、ソリューション全体を共通の\ binディレクトリに構築することを検討してきました。CopyLocal = FalseでVS2010の参照を管理する
しかし、もうコピーされていない参照をbinディレクトリに入れるのがベストプラクティスですか?私は実際の実装プロジェクトの1つでこれをやりたいと思っています。その多くは同じ参照コンポーネントを使用しているため、ビルド後のステップが増えることになります。
私はカスタムmsbuildファイルを作成することができますが、それはVisual Studio(私は思う)の外で手動で実行する必要があることがわかりますか?それは摩擦のように思える。たとえば、私がmsbuildプロジェクトを作成し、それを私の解決策の一部として持つ方法がありますか?
これは私のソリューションビルドの外でこれを管理し、その環境をセットアップして/ bin/debugと/ bin/releaseディレクトリに置くためにdevを一度実行しなければならないcopy_references.batファイルを持っているのがベストですか?これは少し壊れやすいようですが、/ binとsvnに直接ファイルをチェックするよりも優れています。
私は空のC#コンポーネントプロジェクトを作成し、コピーローカルをオンにしてそのプロジェクトへの参照を追加することを考えました。これが他のすべてのプロジェクトに依存した場合、それはコピーを管理します。
次の質問は、これをナゲットリファレンスでどのように管理するかです。私の好みは、svnへの参照をチェックしないで、それらをつかむようにnugetに伝えます。したがって、これはビルド・ステップである必要がありますが、ソリューション・レベルでも必要です。私はこのアプローチを評価しています理由について、もう少し背景については
追加情報
、ここを見て:
http://www.ndepend.com/Res%5CNDependWhiteBook_Assembly.pdf
を目的は、大規模停止することにより、コンパイル時間をスピードアップすることですこれらすべての冗長コピー。依存関係の評価が機能しない場合は、手動で作業する必要がない場合もあります。参照されているアセンブリの依存関係を最上位プロジェクトにプルして、それらがbinフォルダーに格納されるようにする必要があります。
コピーローカルをオフにしたいという欲望は、トレース依存関係の両方でmsビルドプロセスの非効率性と、物事をコピーする必要性を評価していると考えられます。
あなたは*ビルドプロセスを改善していません。 –
どのアスペクトを参照しているのかわからないので、ここに値を追加するには、これを展開する必要があります。あなたはローカルコピーのファンですか? – DanH
@Hansと同意すると、表面上の音が悪い...すべてのプロジェクトの出力を統合する実装の詳細を満足させようとすると、[非]機能的な要件はありますか? –