我正在编写一个 MSBuild 任务来升级数据库(此处为完整源代码),但遇到了一个错误/设计功能,我不知道如何处理。基本上,如果我声明:
public int? TargetVersion
{
[DebuggerStepThrough]
get { return targetVersion; }
[DebuggerStepThrough]
set { targetVersion = value; }
}
然后尝试在.msbuild
文件中分配一个值:
<Target Name="Upgrade">
<UpgradeDatabase ... TargetVersion="10" />
</Target>
MSBuild 吓坏了,说
错误 MSB4030:“10”是“UpgradeDatabase”任务的“TargetVersion”参数的无效值。“TargetVersion”参数的类型为“System.Nullable`1[System.Int32]”。
如何为可为空的属性赋值?