次の方法で共有


Solution4 インターフェイス

統合開発環境 (IDE: Integrated Development Environment) のすべてのプロジェクトとソリューション全体のプロパティを表します。Solution, Solution2 および Solution3 よりも優先されます。

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

構文

'宣言
<GuidAttribute("CDA7305C-78B6-4D9D-90AD-93EBE71F9341")> _
Public Interface Solution4 _
    Inherits Solution3
[GuidAttribute("CDA7305C-78B6-4D9D-90AD-93EBE71F9341")]
public interface Solution4 : Solution3
[GuidAttribute(L"CDA7305C-78B6-4D9D-90AD-93EBE71F9341")]
public interface class Solution4 : Solution3
[<GuidAttribute("CDA7305C-78B6-4D9D-90AD-93EBE71F9341")>]
type Solution4 =  
    interface
        interface Solution3
    end
public interface Solution4 extends Solution3

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

プロパティ

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

このページのトップへ

メソッド

  名前 説明
パブリック メソッド AddFromFile(String, Boolean) (Solution3 から継承されます。)
パブリック メソッド AddFromFile(String, Boolean) システムに既に格納されているプロジェクト ファイルに基づいたソリューションにプロジェクトを追加します。
パブリック メソッド AddFromTemplate(String, String, String, Boolean) (Solution3 から継承されます。)
パブリック メソッド AddFromTemplate(String, String, String, Boolean) 既存のプロジェクト ファイルと、プロジェクト ファイルに含まれるすべての項目やサブディレクトリを指定の場所にコピーし、ソリューションに追加します。
パブリック メソッド AddFromTemplateEx 既存のプロジェクト ファイルと、プロジェクト ファイルに含まれるすべての項目やサブディレクトリを指定の場所にコピーし、ソリューションに追加します。
パブリック メソッド AddSolutionFolder(String) (Solution3 から継承されます。)
パブリック メソッド AddSolutionFolder(String) ソリューション フォルダーを ProjectItems コレクションに追加します。
パブリック メソッド Close(Boolean) (Solution3 から継承されます。)
パブリック メソッド Close(Boolean) 現在のソリューションを閉じます。
パブリック メソッド Create(String, String) (Solution3 から継承されます。)
パブリック メソッド Create(String, String) 指定されたディレクトリに指定された名前の空のソリューションを作成します。
パブリック メソッド FindProjectItem(String) (Solution3 から継承されます。)
パブリック メソッド FindProjectItem(String) プロジェクト内の項目を検索します。
パブリック メソッド GetEnumerator() (Solution3 から継承されます。)
パブリック メソッド GetEnumerator() コレクション内の項目の列挙を返します。
パブリック メソッド GetProjectItemTemplate(String, String) (Solution3 から継承されます。)
パブリック メソッド GetProjectItemTemplate(String, String) 指定したプロジェクト項目テンプレートのパスを返します。
パブリック メソッド GetProjectItemTemplates(String, String) (Solution3 から継承されます。)
パブリック メソッド GetProjectItemTemplates(String, String) 指定されたプロジェクトのプロジェクト項目テンプレートのコレクションを返します。
パブリック メソッド GetProjectTemplate(String, String) (Solution3 から継承されます。)
パブリック メソッド GetProjectTemplate(String, String) 指定されたプロジェクト テンプレートのパスを返します。
パブリック メソッド Item(Object) (Solution3 から継承されます。)
パブリック メソッド Item(Object) Projects コレクションのインデックス付きメンバーを返します。
パブリック メソッド Open(String) (Solution3 から継承されます。)
パブリック メソッド Open(String) 指定されたソリューションを開きます。
パブリック メソッド ProjectItemsTemplatePath(String) (Solution3 から継承されます。)
パブリック メソッド ProjectItemsTemplatePath(String) GetProjectItemTemplate に置き換えられています。
パブリック メソッド Remove(Project) (Solution3 から継承されます。)
パブリック メソッド Remove(Project) 指定されたプロジェクトをソリューションから削除します。
パブリック メソッド SaveAs(String) (Solution3 から継承されます。)
パブリック メソッド SaveAs(String) ソリューションを保存します。

このページのトップへ

解説

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

このオブジェクトを参照するには、DTE.Solution を使用します。MiscFiles や SolutionItems などの仮想プロジェクトを参照するには、Solution4.Item(EnvDTE.Constants.vsProjectKindMisc) または Solution4.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)
    Solution4Example(_applicationObject)
End Sub

Sub Solution4Example(ByVal dte As DTE2)
    ' This function creates a solution and adds a Visual C# Console
    ' project to it.
    Try
        Dim soln As Solution4 = CType(DTE.Solution, Solution4)
        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.
    Solution4Example((DTE2)_applicationObject);
}

public void Solution4Example(DTE2 dte)
{
    // This function creates a solution and adds a Visual C# Console
    // project to it.
    try{
        Solution4 soln = (Solution4)_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);
    }
}

参照

関連項目

EnvDTE100 名前空間