1

部分的なビルドに関連する質問があります。シナリオは以下の通り。

Windowsフォームアプリケーションプロジェクトとそれをサポートするクラスライブラリプロジェクトを含むソリューションがあります。MSBuild を使用してソリューションを構築しています。ビルドする前に、msbuild カスタム タスクを使用して各プロジェクトのアセンブリ ファイルのバージョンを変更します。これにより、AssemblyInfo ファイルが変更されます。assemblyinfo ファイルが変更されるため、msbuild は、assemblyInfo ファイルの変更以外に実際のコードの変更がない場合でも、すべてのプロジェクトをビルドします。したがって、ソリューションをビルドするたびに、すべてのプロジェクトがビルドされますが、理想的なケースでは、実際のコード変更が発生したプロジェクトのみをビルドする必要があります。このソリューションにより、単一のプロジェクトに変更があった場合でも、ビルド時間は変わりません。これには別の副作用があります。clickonce を使用してこのアプリケーションを公開しています。したがって、ソリューションがビルドされるたびに、ソリューション内のすべてのプロジェクトがビルドされます。これにより、新しいビルドを行うたびに、マニフェスト ファイル内のすべてのアセンブリ/exe に対して新しいハッシュ署名が生成されます。このため、アプリケーションの更新が公開されると、ユーザーはアプリケーション内のすべての dll/exe をダウンロードする必要があります。理想的には、更新されたファイル (1 つまたは 2 つ) のみがユーザーのシステムにダウンロードされている必要があります。

本質的に私が欲しいものです。1. 変更されたプロジェクトのみをビルドします。2. 変更されたプロジェクトのみのアセンブリ ファイル バージョンを更新します。

このようにして、ビルド時間を短縮し、クリックワンスの問題も解決できます。これに対する解決策/回避策はありますか?

4

0 に答える 0