ClickOnce 배포를 사용하는 Outlook 추가 기능이 있습니다.ClickOnce 배포 MSBuild -> 응용 프로그램 버전/자동 증가에 대한 현재 빌드 번호 전달 방법
개발자가 빌드를 체크 인하면 PC가 빌드를 대기열에두고 응용 프로그램이 공유 드라이브의 위치에 게시됩니다.
문제는 빌드 버전이 게시 버전을 현재 어셈블리 버전으로 변경하지 않기 때문에 이전 버전 폴더에 게시되므로 버전을 설치할 수 없다는 설치 관리자가 손상됩니다.
나는 that article을 읽었습니다. 그리고 Assembly : AssemblyVersion ("1.0. *")]을 설정합니다. 아직 아무것도.
* .csproj 파일의 <ApplicationVersion></ApplicationVersion>
을 증가시켜이 문제를 해결할 수있는 방법을 찾았습니다. 그러나 나는 그것이 자동화되기를 원한다.
/target:publish /property:PublishDir="\\sharedDir\\" /property:GenerateManifests=true
/property:ApplicationVersion=1.0.0.123
을 그리고 여전히 자동화되지 않습니다 MSBuild.exe를 실행할 때
다른 해결 방법
이었다. msbuild.exe 또는 모든 빌드에서 현재 빌드 번호를<ApplicationVersion></ApplicationVersion>
에있는 값을 실제 빌드 번호로 바꿉니다. 아니면 다른 방법이 있습니까?
어떤 빌드 서버를 사용하고 있습니까? 크루즈 컨트롤? 젠킨스/허드슨? TFS? –
빌드 서버는 TFS입니다. –
내 자신의 실험에 따르면 * .csproj 파일의 값을 증가시키는 것이 ClickOnce 응용 프로그램을 완전히 자동화하는 가장 정확하고 쉬운 방법이라고 생각합니다. 그렇게 함으로서 매니페스트는 정확해진다. /t:ApplicationVersion=a.b.c.d를 단순히 전달하면 응용 프로그램 매니페스트가 제대로 다시 작성되지 않습니다. 문자열 교체를 통해 * .csproj 파일에서 해당 값의 증가분을 자동화 한 다음/t : ApplicationVersion 값없이 MSBuild를 실행하면 모든 것이 잘됩니다. 나는 이것을하고 자동 업데이트는 훌륭하게 작동한다. –