次の方法で共有


SolutionFolder インターフェイス

ソリューション フォルダーは、開発者が大規模なアプリケーションをより効果的に整理できるようにするプロジェクト コンテナーです。

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

構文

'宣言
<GuidAttribute("F8F69788-267C-4408-8967-74F26108C438")> _
Public Interface SolutionFolder
[GuidAttribute("F8F69788-267C-4408-8967-74F26108C438")]
public interface SolutionFolder
[GuidAttribute(L"F8F69788-267C-4408-8967-74F26108C438")]
public interface class SolutionFolder
[<GuidAttribute("F8F69788-267C-4408-8967-74F26108C438")>]
type SolutionFolder =  interface end
public interface SolutionFolder

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

プロパティ

  名前 説明
パブリック プロパティ DTE トップ レベルの機能拡張オブジェクトを取得します。
パブリック プロパティ Hidden ソリューションの隠し属性を設定または取得します。
パブリック プロパティ Parent Find オブジェクトのすぐ上の親オブジェクトを取得します。

このページのトップへ

メソッド

  名前 説明
パブリック メソッド AddFromFile 既存のプロジェクトをソリューション フォルダーに追加します。
パブリック メソッド AddFromTemplate プロジェクト テンプレートに基づいて、新しいプロジェクトをソリューション フォルダーに追加します。
パブリック メソッド AddSolutionFolder ソリューション フォルダーを ProjectItems コレクションに追加します。

このページのトップへ

解説

Visual Studio 2005 では、プロジェクト フォルダーに加えて、ソリューション フォルダーをソリューションに含めることができます。ソリューション フォルダーは、開発者が大規模なアプリケーションをより効果的に整理できるようにするプロジェクト コンテナーです。

ソリューションの Projects プロパティは、Project オブジェクトのコレクションを返します。個々の Project オブジェクトには、Kind プロパティが含まれています。このプロパティは、vsProjectKindSolutionFolder に設定できます。SolutionFolder インターフェイスを使用するには、Project.Object を呼び出し、返されたオブジェクトを SolutionFolder 型にキャストします。

この例では、新しいソリューション フォルダーを作成して、既存のファイルからプロジェクトを追加します。この例を実行する前に、メイン ドライブ (この例では "C:") に "Projects" フォルダーを作成し、そのフォルダー内に "ClassLibrary1" という名前の Visual C# クラス ライブラリ プロジェクトを作成します。このアドインを実行する前に、Visual Studio 統合開発環境 (IDE) でプロジェクトを開く必要もあります。

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

Imports EnvDTE
Imports EnvDTE80
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)
    solnFolderAddFromFileExample(_applicationObject)
End Sub
Sub solnFolderAddFromFileExample(ByVal dte As DTE2)
    ' Before running this example, create a "Projects" folder
    ' off your main drive (C: in this example), and create a C# 
    ' class library project, named ClassLibrary1 in that folder.
    Dim soln As Solution2 = CType(_applicationObject.Solution _
    , Solution2)
    Dim prj As Project
    Dim SF As SolutionFolder
    Try
        Dim prjPath As String = _
        "C:\Projects\ClassLibrary1\ClassLibrary1\ClassLibrary1.csproj"
        ' Open a project in the Visual Studio IDE before running 
        ' this add-in.
        ' Add a solution folder.
        prj = soln.AddSolutionFolder("A new soln folder")
        SF = CType(prj.Object, SolutionFolder)
        ' Add a project to the new solution folder.
        SF.AddFromFile(prjPath)
        MsgBox("Added a new solution folder that contains a _
        C# project named ClassLibrary1.")
    Catch ex As System.Exception
        MsgBox(ex.ToString)
    End Try
End Sub
using EnvDTE;
using EnvDTE80;
using System.Windows.Forms;
public void OnConnection(object application, 
ext_ConnectMode connectMode, object addInInst, ref Array custom)
{
    _applicationObject = (DTE2)application;
    _addInInstance = (AddIn)addInInst;
    solnFolderAddFromFileExample(_applicationObject);
}
public void solnFolderAddFromFileExample(DTE2 dte)
{
    // Before running this example, create a "Projects" folder
    // off your main drive (C: in this example), and create a C# 
    // class library project, named ClassLibrary1 in that folder.
    Solution2 soln = (Solution2)_applicationObject.Solution;
    Project prj;
    SolutionFolder SF;
    try
    {
        String prjPath =
 "C:\\Projects\\ClassLibrary1\\ClassLibrary1\\ClassLibrary1.csproj";
        // Open a project in the Visual Studio IDE before running 
        // this add-in.
        // Add a solution folder.
        prj = soln.AddSolutionFolder("A new soln folder");
        SF = (SolutionFolder)prj.Object;
        // Add a project to the new solution folder.
        SF.AddFromFile(prjPath);
    MessageBox.Show("Added a new solution folder that contains a 
C# project named ClassLibrary1.");
    }
    catch(SystemException ex)
    {
        MessageBox.Show(ex.ToString());
    }
}

参照

関連項目

EnvDTE80 名前空間