>

DevOps에 게시하는 ClickOnce 프로젝트가 있습니다. 나는 MSBuild Arguments 를 설정했습니다  DevOps에서 Winyz 솔루션에 대한 WinForm 솔루션 빌드 단계의 특성  모든 ClickOnce 파일을 생성하려면 :

그러나이 솔루션에는 SSDT 프로젝트도 포함되어 있으며 /target:Publish 를 추가 할 수 있습니다.  설정하면 빌드 프로세스가 SSDT도 게시하려고합니다. 그러면 오류와 함께 실패합니다 :

/target:Publish

SSDT가 사용할 빌드 매개 변수에 지정된 게시 프로파일이 없기 때문에 실패했을 것입니다.

MSBuild가 DacPac을 서버에 게시하는 것을 원하지 않고 DacPac을 만들기 만하면됩니다. 어떻게

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\Microsoft\VisualStudio\v15.0\SSDT\Microsoft.Data.Tools.Schema.SqlTasks.targets(1808,5): error MSB4044: The "SqlPublishTask" task was not given a value for the required parameter "SqlPublishProfilePath"

를 막을 수 있습니까  SSDT 게시를 트리거 할 때 발생하는 것을 막기 위해 추가 할 수있는 또 다른 빌드 인수가 있습니까?

지금까지이 문제를 해결하기 위해 시도한 사항에 대한 참고 사항 :

  • MS Build 공식 문서 MSBuild 명령 줄 참조 및 MSBuild 타겟 섹션 .
  • .pubsj 파일의 코드를보고 '게시'섹션을 찾아보십시오. 게시도 빌드를 호출해야한다고 생각합니다.
  • VS 솔루션 구성에서 SSDT 배포 Unticking
  • SSDT의 .csproj 파일의 릴리스 및 배포 구성에서 False에 항목 추가 및 디버그 구성 (이 질문에 따라)
  • DevOps에서 MS Build 인수를 사용하여 하나의 프로젝트 만 게시하도록 MSBuild 설정 (이 답변에 따라 )
  • 이번 도움말 : ClickOnce 애플리케이션을 수동으로 배포
  • 실제 게시하지 않는 게시 프로필을 만들어 게시 단계를 완료 할 수 있습니다 (이 질문에 대한 아이디어를 찾고 또한 SqlPackage.exe 공식 문서 )
/target:Publish

  • 답변 # 1

    결국 위의 문제를 완전히 다른 방식으로 해결했습니다. MSBuild에서 원하는 작업을 수행하는 대신 데이터베이스 구성 단계와 데이터베이스없는 WinForms 프로젝트 단계로 솔루션 구성을 2 개로 분할했습니다.

    그런 다음 DevOps에서 두 개의 별도 VS 빌드 단계를 사용했는데 WinForms 단계 만 여전히 /target:Publish 를 갖습니다.  설정합니다.

    여기서 작성했지만 대상이 게시로 설정된 경우 SSDT를 빌드하지 않도록 MSBuild에 지시 할 수 있는지 여부에 대한 답을 알고 싶습니다.

  • 이전 javascript - 이 오디오의 playbackRate를 설정할 수없는 이유는 무엇입니까?
  • 다음 c - ++ * p ++는 배열의 두 번째 요소에서 작동하지 않습니까?