명령줄에서 사용자 지정 Visual Studio 마법사를 호출하는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/1671031

  •  13-09-2019
  •  | 
  •  

문제

코드, 템플릿 등을 자동으로 생성하기 위해 DTE 환경을 사용하여 작성된 Visual Studio 마법사가 있습니다.일부 사용자 정의 데이터베이스 항목을 기반으로 합니다.지금은 몇 가지 대화 상자를 표시하고 정보를 수집한 다음 EnvDTE 클래스를 사용하여 코드를 생성하고 형식을 지정합니다.

사용 가능한 대화 상자에서 수집된 정보가 있는 경우 devenv를 호출하고 마법사를 실행하여 자동으로 코드를 생성하는 방법이 있습니까?

도움이 되었습니까?

해결책

이에 대한 답은 DTE2 인터페이스를 사용한 Visual Studio Automation이었습니다. 예를 들어, 나는 새로운 Visual Studio 인스턴스를

Type t = Type.GetTypeFromProgID("VisualStudio.DTE.9.0", true);
object obj = System.Activator.CreateInstance(t, true);
m_DTEInstance = obj as DTE2;

그런 다음 새로운 솔루션을 만드는 것과 같은 작업을 수행 할 수 있습니다.

Solution2 solution = (Solution2)m_DTEInstance.Solution;
solution.Create(OutputDirectory, Namespace + ".sln");

다른 팁

명령줄에서 Visual Studio를 실행할 수 있습니다.명령을 실행하도록 할 수도 있습니다(devenv /Command ...), 그러나 이는 여전히 전체 Visual Studio를 부트스트래핑하는 것을 의미합니다.이것이 의도한 경우 배치 모드에서 실행하는 데는 거의 적합하지 않습니다.

대신에 수행할 수 있는 작업은 코드 생성에 CodeDom을 사용하는 것입니다.코드를 생성하기 위해 EnvDTE 또는 Visual Studio의 다른 항목을 릴레이하지 않습니다.내 코드 생성기에서도 Visual Studio Automation을 사용하여 시작했지만 일괄 빌드의 경우 대신 CodeDom을 사용하여 다시 실행해야 했습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top