VSProject2.WorkOffline 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
指示 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
属性值
布尔值。 对于 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 项目更改此属性。 虽然这是一个读写属性,但如果您尝试为本地项目设置此属性,则会生成错误。