문제

C# 파일을 작성하는 데 사용되는 소스 XML 파일이 있으며 프로젝트의 일부로 컴파일됩니다.
현재 XML에서 C# 변환기를 실행하는 사전 구축 대상이 있습니다.
문제는 이전 건축 단계가 실행될 때까지 이전 파일이 빌드 시스템에 의해 저장되어 새 파일이 무시된다는 것입니다.

이 문제를 어떻게 해결할 수 있습니까? 변화는 길이 될 것 같지만 그들이 할 수있는 일이 제한적입니다.

도움이 되었습니까?

해결책

컴파일 대상이 실행될 때와 달리 MSBuild 파일을 읽을 때 컴파일하려는 .CS 파일을 포함하는 항목 그룹이 생성되기 때문에 "빌드 시스템에 의해 저장된"을 번역 할 수 있다고 생각합니다. 몇 가지 옵션이 있습니다.

  1. <CreateItem> 보다 CreateItem 작업
  2. <Output> 보다 출력 요소

이게 도움이 되길 바란다.

다른 팁

우리는 여기에 비슷한 무언가가 있습니다. 우리는 .tt를 사용하여 XML 파일을 벗어납니다. 두 파일 모두 특정 CSPROJ의 일부입니다. CSPROJ의 Going Properties-> BuildEvents는 건축 사전 이벤트 명령 줄 에서이 작은 스 니펫을 제공합니다.

del "$(ProjectDir)MyCsFile.cs"
copy /b /y "$(ProjectDir)\MyXmlFile.xml" "$(TargetDir)"
"$(ProjectDir)tt.bat" "$(ProjectDir)MyTemplateFile.tt"

그것이 당신에게 어떤 용도로든 알지 못합니다. 마지막 기회 해결으로 충분하기를 바랍니다.

나는 당신이 우리에게 당신의 규칙/빌드 파일을 조금 보여 주어야한다고 생각합니다. XML이 종속성으로있는 CS 파일에 대한 규칙/종속성이 있어야합니다.

"빌드 시스템에 의해 저장된 것"이 무슨 뜻인지 잘 모르겠습니다.

규칙에 따라 오류/누락이 신중하게 확인하십시오.

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