다음을 통해 공유


Solution2 인터페이스

IDE(통합 개발 환경)에서 모든 프로젝트 및 솔루션의 전반적인 속성을 나타냅니다.

네임스페이스:  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 형식에서는 다음과 같은 멤버를 노출합니다.

속성

  이름 설명
Public 속성 AddIns (_Solution에서 상속됨)
Public 속성 AddIns 솔루션과 연관되어 있고 현재 사용할 수 있는 추가 기능이 모두 포함된 AddIns 컬렉션을 가져옵니다.
Public 속성 Count (_Solution에서 상속됨)
Public 속성 Count 솔루션에 들어 있는 프로젝트의 수를 나타내는 값을 가져옵니다.
Public 속성 DTE (_Solution에서 상속됨)
Public 속성 DTE 최상위 확장성 개체를 가져옵니다.
Public 속성 Extender[String] (_Solution에서 상속됨)
Public 속성 Extender[String] 이 개체에 대해 존재하는 요청된 Extender 개체를 가져옵니다.
Public 속성 ExtenderCATID (_Solution에서 상속됨)
Public 속성 ExtenderCATID 개체의 Extender CATID(범주 ID)를 가져옵니다.
Public 속성 ExtenderNames (_Solution에서 상속됨)
Public 속성 ExtenderNames 개체에 대해 사용할 수 있는 Extender의 목록을 가져옵니다.
Public 속성 FileName (_Solution에서 상속됨)
Public 속성 FileName 인프라입니다. Microsoft 내부용입니다.
Public 속성 FullName (_Solution에서 상속됨)
Public 속성 FullName 개체 파일의 전체 경로와 이름을 가져옵니다.
Public 속성 Globals (_Solution에서 상속됨)
Public 속성 Globals 솔루션 파일(.sln), 프로젝트 파일 또는 사용자의 프로필 데이터에 저장할 수 있는 모든 변수 값을 포함하는 Globals 개체를 가져옵니다.
Public 속성 IsDirty (_Solution에서 상속됨)
Public 속성 IsDirty 인프라입니다. Microsoft 내부용입니다.
Public 속성 IsOpen (_Solution에서 상속됨)
Public 속성 IsOpen 솔루션이 열려 있는지 나타내는 값을 가져옵니다.
Public 속성 Parent (_Solution에서 상속됨)
Public 속성 Parent Solution2 개체의 바로 위 부모 개체를 가져옵니다.
Public 속성 Projects (_Solution에서 상속됨)
Public 속성 Projects 현재 솔루션에 있는 프로젝트의 컬렉션을 가져옵니다.
Public 속성 Properties (_Solution에서 상속됨)
Public 속성 Properties Solution2 개체에 속하는 모든 속성의 컬렉션을 가져옵니다.
Public 속성 Saved (_Solution에서 상속됨)
Public 속성 Saved 마지막으로 저장하거나 연 후에 솔루션이 수정되지 않았는지 여부를 나타내는 값을 가져오거나 설정합니다.
Public 속성 SolutionBuild (_Solution에서 상속됨)
Public 속성 SolutionBuild 솔루션에 대한 SolutionBuild 개체를 가져옵니다. 이 개체는 솔루션 수준에서 빌드 자동화 모델의 루트를 나타냅니다.
Public 속성 TemplatePath[String] (_Solution에서 상속됨)
Public 속성 TemplatePath[String] GetProjectTemplate 으로 대체되었습니다.

위쪽

메서드

  이름 설명
Public 메서드 AddFromFile(String, Boolean) (_Solution에서 상속됨)
Public 메서드 AddFromFile(String, Boolean) 시스템에 이미 저장된 프로젝트 파일을 기반으로 솔루션에 프로젝트를 추가합니다.
Public 메서드 AddFromTemplate(String, String, String, Boolean) (_Solution에서 상속됨)
Public 메서드 AddFromTemplate(String, String, String, Boolean) 기존 프로젝트 파일 및 해당 파일에 포함되어 있는 모든 항목 또는 하위 디렉터리를 지정된 위치에 복사하고 이를 솔루션에 추가합니다.
Public 메서드 AddSolutionFolder 솔루션 폴더를 ProjectItems 컬렉션에 추가합니다.
Public 메서드 Close(Boolean) (_Solution에서 상속됨)
Public 메서드 Close(Boolean) 현재 솔루션을 닫습니다.
Public 메서드 Create(String, String) (_Solution에서 상속됨)
Public 메서드 Create(String, String) 지정된 디렉터리에 지정한 이름의 빈 솔루션을 만듭니다.
Public 메서드 FindProjectItem(String) (_Solution에서 상속됨)
Public 메서드 FindProjectItem(String) 프로젝트의 항목을 찾습니다.
Public 메서드 GetEnumerator() (_Solution에서 상속됨)
Public 메서드 GetEnumerator() 컬렉션의 항목에 대한 열거형을 반환합니다.
Public 메서드 GetProjectItemTemplate 지정된 프로젝트 항목 템플릿에 대한 경로를 반환합니다.
Public 메서드 GetProjectTemplate 지정된 프로젝트 템플릿에 대한 경로를 반환합니다.
Public 메서드 Item(Object) (_Solution에서 상속됨)
Public 메서드 Item(Object) Projects 컬렉션의 인덱싱된 멤버를 반환합니다.
Public 메서드 Open(String) (_Solution에서 상속됨)
Public 메서드 Open(String) 지정한 솔루션을 엽니다.
Public 메서드 ProjectItemsTemplatePath(String) (_Solution에서 상속됨)
Public 메서드 ProjectItemsTemplatePath(String) GetProjectItemTemplate 으로 대체되었습니다.
Public 메서드 Remove(Project) (_Solution에서 상속됨)
Public 메서드 Remove(Project) 지정한 프로젝트를 솔루션에서 제거합니다.
Public 메서드 SaveAs(String) (_Solution에서 상속됨)
Public 메서드 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 네임스페이스