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 형식에서는 다음과 같은 멤버를 노출합니다.
속성
이름 | 설명 | |
---|---|---|
AddIns | (_Solution에서 상속됨) | |
AddIns | 솔루션과 연관되어 있고 현재 사용할 수 있는 추가 기능이 모두 포함된 AddIns 컬렉션을 가져옵니다. | |
Count | (_Solution에서 상속됨) | |
Count | 솔루션에 들어 있는 프로젝트의 수를 나타내는 값을 가져옵니다. | |
DTE | (_Solution에서 상속됨) | |
DTE | 최상위 확장성 개체를 가져옵니다. | |
Extender[String] | (_Solution에서 상속됨) | |
Extender[String] | 이 개체에 대해 존재하는 요청된 Extender 개체를 가져옵니다. | |
ExtenderCATID | (_Solution에서 상속됨) | |
ExtenderCATID | 개체의 Extender CATID(범주 ID)를 가져옵니다. | |
ExtenderNames | (_Solution에서 상속됨) | |
ExtenderNames | 개체에 대해 사용할 수 있는 Extender의 목록을 가져옵니다. | |
FileName | (_Solution에서 상속됨) | |
FileName | 인프라입니다. Microsoft 내부용입니다. | |
FullName | (_Solution에서 상속됨) | |
FullName | 개체 파일의 전체 경로와 이름을 가져옵니다. | |
Globals | (_Solution에서 상속됨) | |
Globals | 솔루션 파일(.sln), 프로젝트 파일 또는 사용자의 프로필 데이터에 저장할 수 있는 모든 변수 값을 포함하는 Globals 개체를 가져옵니다. | |
IsDirty | (_Solution에서 상속됨) | |
IsDirty | 인프라입니다. Microsoft 내부용입니다. | |
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 으로 대체되었습니다. |
위쪽
메서드
위쪽
설명
이 인터페이스에는 솔루션 차원의 속성(예: 빌드 구성) 및 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);
}
}