내에서 ClickOnce 설치가 실패 EXE에 서명 할 때 오류 "파일은 매니페스트에 지정된 것보다 다른 계산 된 해시가 있습니다." 빌드 스크립트에서 해당 줄 다음과 같이오류와 함께
<MSBuild Targets="Publish"
Projects="WindowsFormsProject.csproj"
ContinueOnError="false" />
WindowsFormsProject.csproj는 실행 파일을 서명 빌드 후 단계가 있습니다
signtool sign /a $(ProjectDir)\obj\$(PlatformName)\$(ConfigurationName)\$(TargetFileName)
내가 빌드에서 볼 때 문제가있다 로그 포스트 - 빌드 이벤트가 실행되기 전에 매니페스트가 생성 된 것을 볼 수 있습니다. 따라서 해시 코드가 일치하지 않는 것은 놀라운 일이 아닙니다. 빌드 로그에서 관련 라인 :
_CopyManifestFiles:
WindowsFormsProject -> ...\WindowsFormsProject.application
...
PostBuildEvent:
Successfully signed: ...\WindowsFormsProject.exe
그래서, 질문은 다음과 같습니다
- 매니페스트가 < MSBuild를 > 작업시 발생되기 전에 어셈블리에 서명 할 수있는 방법이 있나요?
- 해시 코드가 다시 일치하도록 빌드가 완료된 후에 매니페스트 (및 매니페스트 만)를 다시 생성하는 방법이 있습니까?
또는 문제에 대한 다른 해결책을 생각하면 아이디어를 제공해 주시면 감사하겠습니다.
누구나 똑같은 실수를 저지른 경우를 생각하면 ... 나는이 대답을 '대상'으로 '포스트 빌드'로 해석했습니다. 이것은 잘못되었습니다. '목표'는 프로젝트 수준이어야합니다. –