ひとつコンセプトをクリアしたい。C# では、ソリューションをビルド (または再ビルド) すると、
Build: 1 succeeded
そして時折、
Build: 1 succeeded or up-to-date
わかりました、後者の ans を取得すると、コード内の何かがロジックに従っていないことはわかっています。
しかし、それはどういう意味CONCEPTUALLY
ですか?
ひとつコンセプトをクリアしたい。C# では、ソリューションをビルド (または再ビルド) すると、
Build: 1 succeeded
そして時折、
Build: 1 succeeded or up-to-date
わかりました、後者の ans を取得すると、コード内の何かがロジックに従っていないことはわかっています。
しかし、それはどういう意味CONCEPTUALLY
ですか?
Build: 1 succeeded
1
一般に、プロジェクトを含むソリューションのコンパイルが成功したことを指します。
その間
Build: 1 succeeded or up-to-date
ソリューション内のプロジェクトのコードは変更されていないため、コンパイルは必要ありませんでした。したがって、1 Build Success or up-to-date
これは、プロジェクトで何も変更されていないことを意味します。VS(実際にはMSBUILD)は、次のように最新であるかどうかを判断します。
From:MSBuildはC#ライブラリを再構築する必要があるかどうかをどのように判断しますか?
Microsoft.CSharp.targets(C#プロジェクトをコンパイルするためのmsbuildファイル)を見ると、CoreCompileターゲットには一連の入力と出力が定義されています。これらは、CoreCompileを実行する必要があるかどうかを確認するための依存関係チェックを行うために使用されます。入力のリストには、c#ファイル、リソースファイル、アプリケーションアイコン、厳密な名前のキーファイル、および定義可能なその他のカスタム入力が含まれます。
ソリューションがあり、診断ログを有効にしてmsbuildを実行する場合(/ v:diagコマンドラインパラメーター)、出力が最新の場合、次のメッセージが表示されることがあります。
すべての出力ファイルが入力ファイルに関して最新であるため、ターゲット「CoreCompile」をスキップします。
ターゲットファイルは、.NET Frameworkディレクトリ(c:\ windows \ Microsoft.NET \ Framework \v3.5またはv4.0.30319)にあります。
「最新」のプロジェクトは、以前に正常にビルドされ、その時点から変更されていないため、再ビルドされません。