私は現在 VS2010 の下に大規模なソリューションを持っており、多くのプロジェクトと依存関係があります。それらのいくつかは GAC にインストールされ、一部は "lib" フォルダーから単に含まれています。移植可能なアプリと同じように、プロジェクトの 1 つ (具体的には WinForms アプリ) をビルドして、インストール プロセスなし (もちろん .NET ランタイムを除く) の非開発コンピューターで実行できるようにする必要があります。
これを機能させるには、参照されているすべての DLL とその依存関係ツリー全体を EXE の出力フォルダーに配置する必要があります。たとえば、プロパティウィンドウで依存関係を「ローカルにコピー」にマークすることでそれを行うことができますが、それはEXEプロジェクトの直接参照に対してのみ機能するため、十分ではありません. もう 1 つの方法は、セットアップ プロジェクトを作成することですが、クライアントも私もそれを避けたいと考えています (最終バージョンでは ClickOnce を使用します)。もちろん、すべての DLL を手動で収集して、純粋に手動でいつでも実行できますが、それはかなりの悪夢です。
ツール、msbuild トリック、コマンド ライン オプション、ビルド中に Visual Studio に EXE の依存関係ツリー全体を強制的に収集させ、それらを出力フォルダーにコピーさせるハックはありますか? そのため、すべてをまとめて ZIP してクライアントに送信できます。