VSProject2 インターフェイス
Visual Basic または Visual C# のプロジェクトに固有の情報を含みます。 Object オブジェクトは、プロジェクトが Visual Basic または Visual C# のプロジェクトである場合にこの値を返します。
名前空間: VSLangProj80
アセンブリ: VSLangProj80 (VSLangProj80.dll 内)
構文
'宣言
<GuidAttribute("B1042570-25C6-424A-B58B-56FA83AA828A")> _
Public Interface VSProject2 _
Inherits VSProject
[GuidAttribute("B1042570-25C6-424A-B58B-56FA83AA828A")]
public interface VSProject2 : VSProject
[GuidAttribute(L"B1042570-25C6-424A-B58B-56FA83AA828A")]
public interface class VSProject2 : VSProject
[<GuidAttribute("B1042570-25C6-424A-B58B-56FA83AA828A")>]
type VSProject2 =
interface
interface VSProject
end
public interface VSProject2 extends VSProject
VSProject2 型で公開されるメンバーは以下のとおりです。
プロパティ
名前 | 説明 | |
---|---|---|
BuildManager | (VSProject から継承されます。) | |
BuildManager | VSProject の BuildManager オブジェクトを取得します。 | |
DTE | (VSProject から継承されます。) | |
DTE | トップレベルの機能拡張オブジェクトを取得します。 | |
Events | (VSProject から継承されます。) | |
Events | VSProjectEvents オブジェクトを取得します。このオブジェクトを使用すると、Imports、References、および BuildManager の各オブジェクトのイベントに応答できます。 | |
Events2 | VSProjectEvents2 オブジェクトを取得します。このオブジェクトを使用すると、Imports、References、BuildManager、およびVSLangProjWebReferencesEvents の各オブジェクトのイベントに応答できます。 | |
Imports | (VSProject から継承されます。) | |
Imports | プロジェクトに関連付けられている Imports オブジェクトを取得します。C# プロジェクトでは、Imports プロパティは Nothing (nullnull 参照 (Visual Basic では Nothing) 参照) に設定されます。 | |
Project | (VSProject から継承されます。) | |
Project | Visual Basic プロジェクトまたは Visual C# プロジェクトに関連付けられた、汎用 Project オブジェクトを取得します。 | |
PublishManager | PublishManager オブジェクトを取得して、1 回のクリックで発行できるようにします。 | |
References | (VSProject から継承されます。) | |
References | プロジェクトの References コレクションを取得します。 | |
TemplatePath | (VSProject から継承されます。) | |
TemplatePath | Microsoft Visual Studio 2005 では、このプロパティの使用は推奨されていません。代わりに、GetProjectItemTemplate を使用してください。 | |
WebReferencesFolder | (VSProject から継承されます。) | |
WebReferencesFolder | プロジェクトの Web References フォルダーを表す ProjectItem オブジェクトを取得します。フォルダーが存在しない場合、このプロパティは Nothing (nullnull 参照 (Visual Basic では Nothing) 参照) を返します。 | |
WorkOffline | (VSProject から継承されます。) | |
WorkOffline | Web プロジェクトがオンラインとオフラインのどちらで稼動しているかを示します。オフラインで稼動している場合は、サーバーにあるプロジェクト ファイルが変更されないように、プロジェクト ファイルのオフライン ストアで開発を継続します。 |
このページのトップへ
メソッド
このページのトップへ
解説
Project は、言語を問わずにプロジェクトの情報を格納できるコア機能拡張オブジェクトです。 Project オブジェクトの Object プロパティが返すオブジェクトの型は、プロジェクトの言語によって異なります。 Visual Basic と Visual C# の場合、そのオブジェクトは VSProject2 オブジェクトです。
Object プロパティは、Object データ型を返します。 Object プロパティが返すデータ オブジェクトは、明示的に VSProject2 に変換できます。 CType 関数を使用した変換の例を次に示します。 変換の前に、PrjKind を使用してプロジェクトの型を調べます。
例
このサンプル コードをアドインとして実行するには、「方法 : オートメーション オブジェクト モデルのコード例をコンパイルおよび実行する」を参照してください。
Visual Basic または Visual C# プロジェクトがスマート デバイス プロジェクトかどうかを確認するには、prjKindSDEVBProject と prjKindSDECSharpProject を使用します。
[Visual Basic]
Imports VSLangProj
Imports VSLangProj2
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)
VSProject2Example(applicationObject)
End Sub
Sub VSProject2Example(ByVal dte As DTE2)
Dim aProject As Project
Dim aVSProject2 As VSProject2
aProject = applicationObject.Solution.Projects.Item(1)
MsgBox(aProject.Kind & aProject.Name)
If (aProject.Kind = PrjKind.prjKindVBProject) Or_
(aProject.Kind = PrjKind.prjKindCSharpProject) Then
aVSProject2 = CType(applicationObject.Solution.Projects.Item(1).Object, _
VSProject2)
MsgBox(aVSProject2.Project.FullName)
Else
MsgBox("The first project is not a Visual Basic or C# _
project.")
End If
End Sub
[C#]
// To use Messabox.Show, a reference to Windows.Forms is required.
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;
VSProject2Example((DTE2)applicationObject);
}
public void VSProject2Example(DTE2 dte)
{
Project aProject = null;
VSProject aVSProject2 = null;
aProject = applicationObject.Solution.Projects.Item( 1 );
MessageBox.Show( aProject.Kind + aProject.Name);
if ( ( aProject.Kind == PrjKind.prjKindVBProject ) |
( aProject.Kind == PrjKind.prjKindCSharpProject ) )
{
aVSProject2 = ( ( VSProject )
(applicationObject.Solution.Projects.Item( 1 ).Object ) );
MessageBox.Show( aVSProject2.Project.FullName);
}
else
{
MessageBox.Show( "The first project is not a Visual Basic or C# project.");
}
}