Application.UpdatePackage 属性

定义

获取或设置一个布尔值,该值指示在找到更新的版本时是否可以更新包。

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 枚举器、日志提供程序和连接管理器)更新,则可以在加载时更新较旧的包。 为此,在加载之前,必须在应用程序对象中将以下两个属性设置为 trueUpdatePackageUpdateObjects

每个可扩展对象还必须实现其 CanUpdate 属性。

运行时尝试加载旧包,如果找到较旧的对象,则尝试更新。 运行时首先枚举它包含的所有可扩展对象,不包括 Pipeline单独处理和本地处理的对象。 对于每个对象,运行时会调用 CanUpdate 新对象,并传递旧对象的 ID。 如果新对象可以更新旧对象,则旧对象将使用其 Update 方法传递到新对象,并且其 XML 已就地更改。 默认情况下,所有可扩展对象实现 CanUpdate 返回 false;因此,传递的 XML 不会更新。

适用于