문제

C # 샘플 코드 또는 구문 분석 할 수있는 도구를 찾고 있습니다 (Visual 2010 Studio 설치 및 배포 프로젝트).

도움이 되었습니까?

해결책

C # 및 LINQ를 사용 하여이 파일을 구문 분석 할 것을 제안합니다.이 Vdproj 샘플 와 함께 가자.불행히도 XML 기반이 아닙니다. 그러나 오히려 은 JSON 과 유사하지만 정확히 아닙니다.

alt text

라인을 반복하는 것이 좋습니다.표시되는 탭 수와 섹션 제목의 줄 번호가 구문 분석하려는 위치를 결정합니다.

  string[] allLines = System.IO.File.ReadAllLines(@"C:\foo.vdproj");

  // iterate, and determine where the Configuration heading is....
  if (line == "\t\"Configurations\"")
.

내 샘플 코드가 너무 큽니다. http://pastebin.com/daitcutd의 코드를 참조하십시오.

복잡성은 파일에서 추출 해야하는 데이터의 양이 얼마나됩니까?

이것은 도움이되기를 바랍니다.사운드가 사전 예약 된 도구를 찾고 있었지만 아마도이 코드는 .vdproj 파일 구문 분석에서 시작됩니다.

다른 팁

XML 구조에서 VDPROJ 파일을 /를 변환하는 간단한 콘솔 응용 프로그램을 썼습니다.이렇게하면 빌드 프로세스에서 프로그램 추가 / 제거 아이콘을 설정하는 것과 같은 작업을 수행 할 수 있습니다.

https://github.com/dump247/vdprojectxml

여기 .이것이 이것이

를 바랍니다

UPD : D '오!vcprojectbindingparser.cs 및 vbprojectbindingparser.cs와 .vdproj의 아무 것도 vcprojectbindingparser.cs와 같은 도구가 있습니다.나는 모르겠지만, 아마도 내 자신의 파서를 짓는 데 필요할 것입니다.

Ahhh (무겁게 한숨) 그냥 시간을 절약하고 싶었습니다.

InstallShield는 VDProj를 ISM으로 변환 할 수 있습니다.이를 쿼리하거나 WIX로 쿼리하거나 어두워 질 수있는 MSI 데이터베이스를 만듭니다.

$_ = join('', <>);

s/[=](.+)/:$1,/g;
s/[{]/: {/sg;
s/}/},/g;

s/[,](?:\s+)?[}]/}/sg;
s/[,](?:\s+)?$//s;

print "{$_}";
.

^ -이 Perl 스 니펫 [My] Vdproj를 JSON으로 변환합니다.

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