2009-04-22 4 views
2

이 몇 시간 전에 MSDN 포럼에 게시하고,이 일에 답이 있었다 된 질문은 :Visual Studio 확장 성 (추가 기능) : Silverlight 관련 속성에 액세스하는 방법?

http://social.msdn.microsoft.com/Forums/en-US/vsx/thread/676b13d4-acfc-4252-b102-5fc0553e4b81/

내가 관심이있는 속성은 비주얼 스튜디오 솔루션에 저장 ProjOutputReferences, (이다 .sln) 파일.

Visual Studio에서이 속성은 Silverlight WebSite 프로젝트의 속성 페이지 대화 상자를 통해 액세스 할 수 있습니다 (VS2008 용 Silverlight 도구가 설치되어 있어야 함). 거기에는 위에서 언급 한 속성의 내용을 편집 할 수있는 "Silverlight 응용 프로그램"이라는 페이지가 있습니다.

VS 자동화 또는 저수준 인터페이스를 통해 내 추가 기능에서 프로그래밍 방식으로 액세스해야합니다.

답변

4

VS 2008 SP1 용 Silverlight Tools의 최신 릴리스 버전에서는 추천 프로젝트 파일의 SilverlightApplicationList 속성에 목록이 유지됩니다. 예를 들어, 내 솔루션에는 SilverlightApplication2 및 SilverlightApplication2.Web이 있습니다 (전자는 후자를 참조). 정말이

<SilverlightApplicationList>{BBA7B148-42AE-477E-BB5E-0BA5AEC0A467}|..\SilverlightApplication2\SilverlightApplication2.csproj|ClientBin|False</SilverlightApplicationList> 

순수 DTE를 통해이 속성에 액세스 할 수있는 방법이 아니다,하지만 당신은 그렇게 할 수있는 비주얼 스튜디오 SDK/VSIP 인터페이스를 사용할 수 있습니다 : 내 SilverlightApplication2.Web.csproj 파일에 다음 노드를 (특히 MSBuild 속성에 액세스하기 위해 IVsBuildPropertyStorage 인터페이스를 가져 오려고합니다). 여기에 (A VSPackage에서 메뉴 명령 처리기에서 실행) 코드 조각입니다 :

IVsSolution solution = GetService(typeof(SVsSolution)) as IVsSolution; 

IVsHierarchy hierarchy; 
solution.GetProjectOfUniqueName(@"SilverlightApplication2.Web\SilverlightApplication2.Web.csproj", out hierarchy); 

IVsBuildPropertyStorage buildPropertyStorage = hierarchy as IVsBuildPropertyStorage; 

if (buildPropertyStorage != null) 
{ 
    string silverlightAppListValue; 
    buildPropertyStorage.GetPropertyValue("SilverlightApplicationList", "Debug", (uint)_PersistStorageType.PST_PROJECT_FILE, out silverlightAppListValue); 

    MessageBox.Show(silverlightAppListValue); 
} 

당신은 여전히 ​​추가 기능에서이 일을 시도하려는 경우, 당신은 Craig mentions이를 캐스팅하는 방법에 따라 취득해야합니다 DTE 개체를 IServiceProvider로 가져옵니다 (GetService를 호출 할 수 있도록).

- Aaron Marten

0

의 .sln 파일을 그냥 텍스트 파일이기 때문에이 메모장을 사용하여의 .sln 파일을 편집하려고합니다. 찾고있는 부동산을 찾을 수 있어야합니다. 정보가 이해할 수있는 형식이라고 가정하면 간단한 텍스트 파서를 사용하여 프로그래밍 방식으로 .sln에서 정보를 추출 할 수 있어야합니다.

관련 문제