データベースをアップグレードするためのMSBuildタスクを作成中(フルソースhere)、エラーが発生しました/設計上の特徴によって対処方法がわかりません。私は宣言した場合、基本的に:MSBuildのNull可能なパラメータ値
<Target Name="Upgrade">
<UpgradeDatabase ... TargetVersion="10" />
</Target>
MSBuildのは、フリークアウトと
エラーMSB4030と言う: "10"、その後
public int? TargetVersion { [DebuggerStepThrough] get { return targetVersion; } [DebuggerStepThrough] set { targetVersion = value; } }
とは
.msbuild
ファイルの値を代入しようとし"UpgradeDatabase"タスクの "TargetVersion"パラメータの値が無効です。 "TargetVersion"パラメータの型は "System.Nullable`1 [System.Int32]"です。
nullableプロパティに値を割り当てるにはどうすればよいですか?
はい、値が明示的に割り当てられているかどうかを知ることができてうれしいです。たとえば、OPの例でTargetVersionを0に設定した場合はどうなりますか? nullable型を使用すると、未設定値とその型のデフォルト値に等しい明示的に設定された値を区別できます。 – zcrar70