VSProject2.WorkOffline 属性

定义

指示 Web 项目是联机工作还是脱机工作。 当脱机工作时,开发将在项目文件的脱机存储区中继续进行,因此不会更改服务器上的项目文件。

public:
 property bool WorkOffline { bool get(); void set(bool value); };
public:
 property bool WorkOffline { bool get(); void set(bool value); };
[System.Runtime.InteropServices.DispId(10)]
public bool WorkOffline { [System.Runtime.InteropServices.DispId(10)] get; [System.Runtime.InteropServices.DispId(10)] set; }
[<System.Runtime.InteropServices.DispId(10)>]
[<get: System.Runtime.InteropServices.DispId(10)>]
[<set: System.Runtime.InteropServices.DispId(10)>]
member this.WorkOffline : bool with get, set
Public Property WorkOffline As Boolean

属性值

Boolean

布尔值。 对于 Web 应用程序,如果脱机工作,则此属性返回 true,如果联机工作,则返回 false。 对于本地项目,此属性返回 false。

实现

属性

示例

此示例假设解决方案中的第一个项目是 Visual Basic 或 Visual C# 项目。 若要将此示例作为外接程序运行,请参阅 如何:编译和运行自动化对象模型代码示例

[Visual Basic]

' Add-in code.  
Imports VSLangProj  
Imports VSLangProj80  
Public Sub OnConnection(ByVal application As Object,_  
 ByVal connectMode As ext_ConnectMode, ByVal addInInst As Object, _  
 ByRef custom As Array) Implements IDTExtensibility2.OnConnection  
    applicationObject = CType(application, DTE2)  
    addInInstance = CType(addInInst, AddIn)  
    WorkOfflineExample(applicationObject)  
End Sub  

Sub WorkOfflineExample(ByVal dte As DTE2)  
    ' This example assumes that the first project in the solution is   
    ' a Visual Basic or C# project.  
    Dim aVSProject As VSProject2 = _  
    CType(applicationObject.Solution.Projects.Item(1).Object,_  
    VSProject2)  
    MsgBox("Work offline is: " & aVSProject.WorkOffline.ToString())  
    Try  
        MsgBox("Setting WorkOffline to false.")  
        aVSProject.WorkOffline = False  
    Catch e As System.Exception  
        ' Setting the property fails for local projects.  
        MsgBox(e.Message)  
    End Try  
    Try  
        MsgBox("Setting WorkOffline to true.")  
        aVSProject.WorkOffline = True  
    Catch e As System.Exception  
        ' Setting the property fails for local projects.  
        MsgBox(e.Message)  
    End Try  
End Sub  

[C#]

using System.Windows.Forms;  
using VSLangProj;  
using VSLangProj2;  
using VSLangProj80;  
public void OnConnection(object application, ext_ConnectMode  
 connectMode, object addInInst, ref Array custom)  
{   
    applicationObject = (DTE2)application;  
    addInInstance = (AddIn)addInInst;  
    WorkOfflineExample((DTE2)applicationObject);  
}  

public void WorkOfflineExample( DTE2 dte )   
{   
// This example assumes that the first project in the solution is   
// a Visual Basic or C# project.  
    VSProject2 aVSProject = ( ( VSProject2 )  
(applicationObject.Solution.Projects.Item( 1 ).Object ) );   
    MessageBox.Show( "Work offline is: " +   
aVSProject.WorkOffline.ToString());   
    try   
    {   
        MessageBox.Show( "Setting WorkOffline to false.");   
        aVSProject.WorkOffline = false;   
    }   
    catch ( System.Exception e )   
    {   
        // Setting the property fails for local projects.  
        MessageBox.Show( e.Message);   
    }   
    try   
    {   
        MessageBox.Show( "Setting WorkOffline to true.");   
        aVSProject.WorkOffline = true;   
    }   
    catch ( System.Exception e )   
    {   
        // Setting the property fails for local projects.  
        MessageBox.Show( e.Message);   
    }   
}  

注解

如果项目处于脱机状态,则不会尝试在服务器上写入或访问项目的文件。

若要更改脱机项目文件的 URL,请使用 OfflineURL 集合的属性 Project.Properties

只能为 Web 项目更改此属性。 虽然这是一个读写属性,但如果您尝试为本地项目设置此属性,则会生成错误。

适用于