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