ClickOnce 배포를 위한 디버그 빌드 게시를 허용하지 않습니다.

StackOverflow https://stackoverflow.com/questions/47107

  •  09-06-2019
  •  | 
  •  

문제

ClickOnce를 사용하여 디버그 빌드 게시를 허용하지 않는 방법이 있나요?

릴리스 빌드만 허용하고 싶지만 지금은 사람의 실수로 인해 디버그 빌드가 가끔씩 빠져나가는 경우가 있습니다.

Visual Studio 내에서 빌드를 게시하고 있습니다.

도움이 되었습니까?

해결책

할 수 있는 한 가지 작업은 빌드를 수행할 때 MSBuild가 확인하는 .csproj 또는 .vbproj 파일에 조건을 추가하는 것입니다.

조건은 게시가 발생하는지 확인하고 빌드가 디버그 빌드인지 확인한 다음 외부 도구를 실행하거나 빌드 프로세스를 중단하거나 실패하게 만드는 등의 작업을 수행합니다.

예를 들면 다음과 같습니다.

<Choose>
    <When Condition=" '$(Configuration)'=='Debug' ">
        <Exec Command="C:\foo.bat" ContinueOnError="false" />
    </When>
 </Choose>

여기서 foo.bat는 0이 아닌 값을 반환하여 게시가 중단되는 배치 파일입니다.

다른 팁

디버그 배포에 대한 오류를 발생시켜 배포가 발생하는 것을 효과적으로 방지하기 위해 다음 코드를 포함하도록 .csproj 파일을 수정하기 시작했습니다.

<!-- The following makes sure we don’t try to publish a configuration that defines the DEBUG constant -->
<Target Name="BeforePublish">
    <Error Condition="'$(DebugSymbols)' == 'true'" Text="You attempted to publish a configuration that defines the DEBUG constant!" />
</Target>

파일 끝부분 바로 앞에 넣으시면 됩니다. </Project> 꼬리표.

(원본 출처: http://www.nathanpjones.com/wp/2010/05/preventing-clickonce-publishing-a-debug-configuration/comment-page-1/#comment-625)

나는 나에게 도움이 되는 다른 솔루션을 선택했습니다.

빌드 프로세스를 변경할 수 없습니다.그래서 내가 그랬어 도구맞춤설정... 작업 텍스트를 변경하고 "게시 [릴리스 구성!]"과 같은 경고를 추가하고 디버그/릴리스 구성 옵션 옆에 게시 버튼을 배치합니다.그것은 간단합니다!

이를 통해 인적 오류의 위험을 상당히 줄였습니다.해당 버튼은 항상 함께 있어야 합니다.

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