Share via


Solution2 インターフェイス

統合開発環境 (IDE: Integrated Development Environment) のすべてのプロジェクトとソリューション全体のプロパティを表します。

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

構文

'宣言
<GuidAttribute("FA238614-FBB1-4314-A7F7-49AE8BB6C6BA")> _
Public Interface Solution2 _
    Inherits _Solution
[GuidAttribute("FA238614-FBB1-4314-A7F7-49AE8BB6C6BA")]
public interface Solution2 : _Solution
[GuidAttribute(L"FA238614-FBB1-4314-A7F7-49AE8BB6C6BA")]
public interface class Solution2 : _Solution
[<GuidAttribute("FA238614-FBB1-4314-A7F7-49AE8BB6C6BA")>]
type Solution2 =  
    interface
        interface _Solution
    end
public interface Solution2 extends _Solution

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

プロパティ

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

このページのトップへ

メソッド

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

このページのトップへ

解説

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

DTE.Solution プロパティを使用して、オープンなソリューションを確認できます。 MiscFiles や SolutionItems などの仮想プロジェクトを参照するには、Solution.Item(EnvDTE.Constants.vsProjectKindMisc または Solution.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)
    SolutionExample(_applicationObject)
End Sub

Sub SolutionExample(ByVal dte As DTE2)
    ' This function creates a solution and adds a Visual Basic Console
    ' project to it.
    Try
        Dim soln As Solution2 = CType(DTE.Solution, Solution2)
        Dim vbTemplatePath As String
        ' This path must exist on your computer.
        ' Replace <file path> below with an actual path.
        Dim vbPrjPath As String = <file path>
        MsgBox("starting")
        ' Get the project template path for a Visual Basic console application project.
        vbTemplatePath = soln.GetProjectTemplate _
        ("ConsoleApplication.zip", "VisualBasic")
        ' Create a new Visual Baic Console project using the template obtained 
        ' above.
        soln.AddFromTemplate(vbTemplatePath, vbPrjPath, _
        "New Visual Basic Console Project", False)
        MsgBox("done")
    Catch ex As System.Exception
        MsgBox(ex.ToString)
    End Try
End Sub
//you will need to add this reference to your project as well
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.
    SolutionExample((DTE2)_applicationObject);
}

public void SolutionExample(DTE2 dte)
{
    // This function creates a solution and adds a Visual C# Console
    // project to it.
    try{
        Solution2 soln = (Solution2)_applicationObject.Solution;
        String csTemplatePath;
        // The file path must exist on your computer.
        // Replace <file path> below with an actual path.
        String csPrjPath = <file path>;
    MessageBox.Show("Starting...");
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);
    }
}

参照

参照

EnvDTE80 名前空間