Solution3 インターフェイス

統合開発環境 (IDE: Integrated Development Environment) のすべてのプロジェクトとソリューション全体のプロパティを表します。 Solution および Solution2 に代わるものです。

名前空間:  EnvDTE90
アセンブリ:  EnvDTE90 (EnvDTE90.dll 内)

構文

'宣言
<GuidAttribute("DF23915F-FDA3-4DD5-9CAA-2E1372C2BB16")> _
Public Interface Solution3 _
    Inherits Solution2
[GuidAttribute("DF23915F-FDA3-4DD5-9CAA-2E1372C2BB16")]
public interface Solution3 : Solution2
[GuidAttribute(L"DF23915F-FDA3-4DD5-9CAA-2E1372C2BB16")]
public interface class Solution3 : Solution2
[<GuidAttribute("DF23915F-FDA3-4DD5-9CAA-2E1372C2BB16")>]
type Solution3 =  
    interface 
        interface Solution2 
    end
public interface Solution3 extends Solution2

Solution3 型で公開されるメンバーは以下のとおりです。

プロパティ

  名前 説明
パブリック プロパティ AddIns ソリューションで現在使用できるすべてのアドインを含む AddIns コレクションを取得します。
パブリック プロパティ Count ソリューション内のプロジェクトの数を示す値を取得します。
パブリック プロパティ DTE トップレベルの機能拡張オブジェクトを取得します。
パブリック プロパティ Extender 要求された Extender オブジェクトがこのオブジェクトで利用できる場合はそれを取得します。
パブリック プロパティ ExtenderCATID オブジェクトの Extender カテゴリ ID (CATID) を取得します。
パブリック プロパティ ExtenderNames オブジェクトで使用できる Extender の一覧を取得します。
パブリック プロパティ FileName インフラストラクチャ。 ファイル名を取得します。
パブリック プロパティ FullName オブジェクトのファイルの完全パスと名前を取得します。
パブリック プロパティ Globals Globals オブジェクトを取得します。このオブジェクトには、ソリューション ファイル (.sln)、プロジェクト ファイル、またはユーザーのプロファイル データに保存できる任意の変数値が含まれます。
パブリック プロパティ IsDirty インフラストラクチャ。 ソリューションがダーティ (変更されているが保存されていない状態) でないかどうかを判断します。
パブリック プロパティ IsOpen ソリューションが開いているかどうかを示す値を取得します。
パブリック プロパティ Parent Solution2 オブジェクトの直接の親オブジェクトを取得します。
パブリック プロパティ Projects 現在ソリューションに存在するプロジェクトのコレクションを取得します。
パブリック プロパティ Properties Solution2 オブジェクトに属するすべてのプロパティのコレクションを取得します。
パブリック プロパティ Saved ソリューションが最後に保存したか開いたときから変更されていないかどうかを示す値を取得または設定します。
パブリック プロパティ SolutionBuild ソリューション レベルでのビルド オートメーション モデルのルート オブジェクトを表す、ソリューションの SolutionBuild オブジェクトを取得します。
パブリック プロパティ TemplatePath GetProjectTemplate に置き換えられています。

このページのトップへ

メソッド

  名前 説明
パブリック メソッド AddFromFile システムに既に格納されているプロジェクト ファイルに基づいたソリューションにプロジェクトを追加します。
パブリック メソッド AddFromTemplate 既存のプロジェクト ファイルと、プロジェクト ファイルに含まれるすべての項目やサブディレクトリを指定の場所にコピーし、ソリューションに追加します。
パブリック メソッド AddSolutionFolder ソリューション フォルダーを ProjectItems コレクションに追加します。
パブリック メソッド Close 現在のソリューションを閉じます。
パブリック メソッド Create 指定された名前で指定されたディレクトリに空のソリューションを作成します。
パブリック メソッド FindProjectItem プロジェクト内で項目の位置を探します。
パブリック メソッド GetEnumerator コレクション内の項目の列挙を返します。
パブリック メソッド GetProjectItemTemplate 指定したプロジェクト項目テンプレートのパスを返します。
パブリック メソッド GetProjectItemTemplates 指定されたプロジェクトのプロジェクト項目テンプレートのコレクションを返します。
パブリック メソッド GetProjectTemplate 指定されたプロジェクト テンプレートのパスを返します。テンプレートが RequiredFrameworkVersion の要素が 4.0 以上ある場合、テンプレートの検索で一致を見つけるように呼び出しのバージョンを指定します。たとえば、GetProjectTemplate("Extensibility\\1033\\VSIXProject.zip", "CSharp")を呼び出す代わりに; 呼び出し GetProjectTemplate("Extensibility\\1033\\VSIXProject.zip|FrameworkVersion=4.5", "CSharp");。
パブリック メソッド Item Projects コレクションのインデックス付きメンバーを返します。
パブリック メソッド Open 指定されたソリューションを開きます。
パブリック メソッド ProjectItemsTemplatePath GetProjectItemTemplate に置き換えられています。
パブリック メソッド Remove 指定されたプロジェクトをソリューションから削除します。
パブリック メソッド SaveAs ソリューションを保存します。

このページのトップへ

解説

Solution3 オブジェクトは、IDE の現在のインスタンスに存在するすべてのプロジェクトと、ビルド構成などのソリューション全体のすべてのプロパティから構成されるコレクションです。 Solution3 オブジェクトには、ラップ プロジェクト、サブプロジェクト、トップレベルのプロジェクトのいずれであるかに関係なく、すべてのプロジェクトのプロジェクト要素が含まれます。

このオブジェクトを参照するには、DTE.Solution を使用します。 MiscFiles や SolutionItems などの仮想プロジェクトを参照するには、Solution3.Item(EnvDTE.Constants.vsProjectKindMisc) または Solution3.Item(EnvDTE.Constants.vsProjectKindSolutionItems) を使用します。

このアドイン コードの実行方法については、「方法 : オートメーション オブジェクト モデルのコード例をコンパイルおよび実行する」を参照してください。

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)
    Solution3Example(_applicationObject)
End Sub

Sub Solution3Example(ByVal dte As DTE2)
    ' This function creates a solution and adds a Visual C# Console
    ' project to it.
    Try
        Dim soln As Solution3 = CType(DTE.Solution, Solution3)
        Dim csTemplatePath As String
        ' This path must exist on your computer.
        ' Replace <file path> below with an actual path.
        Dim csPrjPath As String = "<file path>"
        MsgBox("starting")
        ' Get the project template path for a C# console project.
        csTemplatePath = CType(soln.GetProjectTemplate _
        ("ConsoleApplication.zip", "CSharp"), string)
        ' Create a new C# Console project using the template obtained 
        ' above.
        soln.AddFromTemplate(csTemplatePath, csPrjPath, _
        "New CSharp Console Project", False)
        MsgBox("done")
    Catch ex As System.Exception
        MsgBox(ex.ToString)
    End Try
End Sub
using System.Windows.Forms;
public void OnConnection(object application,
 Extensibility.ext_ConnectMode connectMode, object addInInst,
 ref System.Array custom)
{
    _applicationObject = (DTE2)application;
    _addInInstance = (AddIn)addInInst;
    // Pass the applicationObject member variable to the code example.
    Solution3Example((DTE2)_applicationObject);
}

public void Solution3Example(DTE2 dte)
{
    // This function creates a solution and adds a Visual C# Console
    // project to it.
    try{
        Solution3 soln = (Solution3)_applicationObject.Solution;
        String csTemplatePath;
        // The file path must exist on your computer.
        // Replace <file path> below with an actual path.
        String csPrjPath = "<file path>";
        "<file path>MessageBox.Show("Starting...");
        "<file path>"<file path>csTemplatePath = 
        soln.GetProjectTemplate("ConsoleApplication.zip", "CSharp");
        // Create a new C# Console project using the template obtained 
        // above.
        soln.AddFromTemplate(csTemplatePath, csPrjPath,
          "New CSharp Console Project", false);
        MessageBox.Show("Done!");
    }
    catch(SystemException ex)
    {
        MessageBox.Show("ERROR: " + ex);
    }
}

参照

関連項目

EnvDTE90 名前空間