Application.UpdatePackage 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取或设置一个布尔值,该值指示在找到更新的版本时是否可以更新包。
public:
property bool UpdatePackage { bool get(); void set(bool value); };
public bool UpdatePackage { get; set; }
member this.UpdatePackage : bool with get, set
Public Property UpdatePackage As Boolean
属性值
如果找到更新的版本时可以更新包,则为 true;否则为 false。 默认值为 false。
示例
下面的代码示例演示如何启用和禁用更新。 它将该值UpdatePackagetrue
设置为 ,打印值,将属性值重置为 false
,然后再次输出值。
class ApplicationTests
{
static void Main(string[] args)
{
Application app = new Application();
Boolean updatePkg = true;
app.UpdatePackage = updatePkg;
Console.WriteLine(app.UpdatePackage);
updatePkg = false;
app.UpdatePackage = updatePkg;
Console.WriteLine(app.UpdatePackage);
}
}
Class ApplicationTests
Shared Sub Main(ByVal args() As String)
Dim app As Application = New Application()
Dim updatePkg As Boolean = True
app.UpdatePackage = updatePkg
Console.WriteLine(app.UpdatePackage)
updatePkg = False
app.UpdatePackage = updatePkg
Console.WriteLine(app.UpdatePackage)
End Sub
End Class
示例输出:
True
False
注解
如果可扩展对象(如任务、 Foreach
枚举器、日志提供程序和连接管理器)更新,则可以在加载时更新较旧的包。 为此,在加载之前,必须在应用程序对象中将以下两个属性设置为 true
: UpdatePackage和 UpdateObjects。
每个可扩展对象还必须实现其 CanUpdate
属性。
运行时尝试加载旧包,如果找到较旧的对象,则尝试更新。 运行时首先枚举它包含的所有可扩展对象,不包括 Pipeline
单独处理和本地处理的对象。 对于每个对象,运行时会调用 CanUpdate
新对象,并传递旧对象的 ID。 如果新对象可以更新旧对象,则旧对象将使用其 Update
方法传递到新对象,并且其 XML 已就地更改。 默认情况下,所有可扩展对象实现 CanUpdate
返回 false
;因此,传递的 XML 不会更新。