Microsoft MVP성태의 닷넷 이야기
Clickonce 배포 후 Command 실행 [링크 복사], [링크+제목 복사],
조회: 15680
글쓴 사람
jakard
홈페이지
첨부 파일
[캡처.PNG]    

안녕하세요.
항상 이곳에서 많은 정보를 얻고 있습니다.

저는 요즘 저희 서버에 있던 서비스들을 Google Cloud Platform으로 옮기는 작업을 하고 있습니다.
그 중에 하나로 기존에 Clickonce로 서버에 배포되던 데스트탑 프로그램을 Google Cloud Platform으로 배포해 보려고 합니다.
제가 생각하는 시나리오는 다음과 같습니다.

1. Clickonce 배포 위치를 Local 폴더로 지정
2. 빌드시 Local 폴더에 배포 완료
3. Python 프로그램을 실행해서 Google Cloud Platform Storage에 업로드

그래서 다음과 같이 .csproj 파일에 Task를 추가했습니다.

  <Target Name="GCPPublishTask" AfterTargets="PublishOnly">
    <Exec Command="(set GOOGLE_APPLICATION_CREDENTIALS=C:\Users\jakar\Downloads\test-224013-7f236eafd9c5.json) &amp; python gcp_uploader.py" WorkingDirectory="gcp_uploader" />
  </Target>
  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>

하지만 첨부 파일 처럼 Clickonce의 배포위치로 Publish 되는 것은 제가 추가한 Task가 실행된 이후이네요.
Google에서 찾아봤지만 정확한 솔루션을 못찾았고 그 중에 ASP.NET Publish 후 Task 추가에 관련한 정성태 님 글을 보고 문의 드립니다.

여러 꼼수를 찾아보다가 Clickonce 배포시 먼저 빌드 폴더 위치의 [app.publish]에 먼저 Publish할 파일들을 만든다는 것을 알고
업로드용 python 스크립트에서 업로드 소스 폴더 경로를 [app.publish]로 수정해서 해결을 했는데요.
여전히 [app.publish] 폴더의 default.htm 파일은 이후에 만들어져서 업로드가 되지는 않네요.








[최초 등록일: ]
[최종 수정일: 2/1/2019]


비밀번호

댓글 작성자
 



2019-02-01 08시39분
어쩔 수 없습니다. ^^ 이런 경우에는 다음의 글에 따라,

http://www.sysnet.pe.kr/2/0/11507

빌드 output verbosity 설정을 통해 적절한 Build Target을 찾아내서 그것의 AfterTargets를 통해 되는 지점을 찾아내야 합니다. 혹시 성공하시거든 ^^ Target 이름 공유 좀 부탁드립니다.
정성태
2019-02-15 02시17분
[jakard] 윽 그렇군요. 감사합니다. ^^
[guest]

[1]  2  3  4  5  6  7  8  9  10  11  12  13  14  15  ...
NoWriterDateCnt.TitleFile(s)
5968orion4/30/2025156winform DataSet.xsd의 암호화 된 ConnectionString 사용 질문 [1]
5966GM B4/30/2025182C#과 python 연동 질문 [1]
5962SunN...4/21/2025532Contextmenu margin 조절 [1]파일 다운로드2
5961GM B4/10/2025928winform => wpf 마이그레이션 방법 질문 [4]파일 다운로드1
5960Kim ...4/9/20251169안녕하세요.. 혹 AI & C# 에 대해서도 다루시나요? [1]
5959vict...2/10/20251881비주얼 스투디오 CLR 코드 탑색 질문입니다. [1]
5958Supe...1/18/20252856C#으로 DLL을 만들때 WebVeiw2을 이용하여 Vb6에서 사용할수 있는지 문의드립니다. [2]
5956fc1/11/20252846한국투자증권 KIS Developers OpenAPI의 C# 래퍼 버전 - eFriendOpenAPI NuGet 패키지 [1]
5955tree...11/8/20244507C#12 책 179 페이지 문의 사항 [2]
5954SunN...10/10/20244968textbox에서 글자입력후 textBox1_KeyUp함수에서listBox1_SelectedIndexChanged 강제호출방법 [1]
5953Roya10/4/20244910c# com host dll을 c++에서 사용할 때, sdk 관련 runtime 을 설치 안하고 제공할수 있을까요?? [1]
5952우광현9/5/20246058서버용 소켓 포트 동적포트 적용시 클라이언트가 호출하는 방법? [2]
5951Kun ...8/21/20245667c++에서 복합데이터 Struct를 .NET Framework에서 구현할 수 있는 방법이 있을까요? [2]
5950SunN...8/18/20246227정석대로 한다면 response.Close() 해야되는지요? [4]
5949SunN...8/16/20246312SqlConnection Open()에서 에러가나면 Close()하는 시점 [3]
5948SunN...8/14/20246192WebRequestMethods.Ftp.MakeDirectory 해제 [3]
5947Roya8/7/20246974c# dll을 cpp lib에서 사용을 할려고 하는데요. CoCreateInstance 에서 지정된 파일을 찾을수 없다고 나오는대요. [4]
5946SunN...8/5/20247075TaskDefinition 에서 사용저가로그온상관없이실행 [3]파일 다운로드1
5945SunN...8/3/20246946윈도우 작업스케줄러 [1]
5944roya8/1/20246888C# dll을 C++ 프로젝트에서 사용을 하고 싶은데, 레지스트리 등록 없이 가능한걸까요?? [2]
5943SunN...8/1/20246760윈도우C#에서 리눅스FTP로 업로드 및 리눅스에 폴더생성(WindowsOS에서C#으로) [3]
5942vict...7/24/20246800dll 을 c#에서 쓰고 싶습니다 [1]
5941vict...7/17/20248271DependencyObject와 같은 스레드에서 DependencySource를 만들어야 합니다. 오류 [2]
5940ckm7/16/20248704선생님 안녕하세요 async await 교착 관련 질문입니다 [1]
5939괴물신인7/9/20248394템플릿 대체할수있는방법이 있을까요? [6]
[1]  2  3  4  5  6  7  8  9  10  11  12  13  14  15  ...