6

Visual Studio ソリューションにSQL Server データベース プロジェクト ( .sqlproj) がある場合、プロジェクト ファイルに変更がなくても、ソリューションをビルドするたびに特定のプロジェクトが常にビルドされることに気付きました。

これは、変更されるファイルがある場合にのみビルドされる通常のC#プロジェクト ( )と矛盾します。.csproj

出力の冗長性を上げてみましたが、msbuild特別な理由なしに常にそのプロジェクトをビルドしているようです。

.sqlprojが常に構築される理由はありますか? ファイルが変更されたときだけビルドする方法はありますか?

4

1 に答える 1

0

MSBuild にはIncremental Buildを作成する機会があります。その主な考え方は次のとおりです。

MSBuild は、これらの属性の値の間で 1 対 1 のマッピングを見つけようとします。1 対 1 のマッピングが存在する場合、MSBuild はすべての入力項目のタイム スタンプを対応する出力項目のタイム スタンプと比較します。1 対 1 のマッピングを持たない出力ファイルは、すべての入力ファイルと比較されます。出力ファイルが入力ファイルと同じか新しい場合、アイテムは最新と見なされます。

*.sqlproj ファイル内にどのターゲットが含まれているかはわかりません。そのため、そのテクノロジが使用されているかどうかを判断する必要があります。使用している場合は、どの入力と出力が関与しているかを調べて、自分で明確にする必要があります。 、ボンネットの下で何が起こっているのか。

于 2015-09-21T08:08:12.493 に答える