2017-09-27 4 views
1

저는 Visual Studio Team Services (a.k.a. Visual Studio Online?)에 빌드 정의가 있습니다.이 빌드는 유물을 생성하지 않는 정직한 이름입니다. 이유는 확실하지 않습니다. 솔루션 파일의 기본 프로젝트는 TopShelf를 사용하여 작성된 Windows 서비스입니다. 아마도 Visual Studio 빌드 작업의 MSBuild 인수가 잘못되었을 수도 있습니다. 작업중인 MVC 프로젝트의 빌드 정의에서이 파일을 복사했지만 Windows 서비스에서는 작동하지 않을 수도 있습니다.VSTS 빌드로 아티팩트를 생성하기 위해 Windows 서비스 솔루션을 얻으려면 어떻게해야합니까?

/p:DeployOnBuild=true 
/p:WebPublishMethod=Package 
/p:PackageAsSingleFile=true 
/p:SkipInvalidConfigurations=true  
/p:PackageLocation="$(build.artifactstagingdirectory)\\" 

나는 파일 복사 작업이 있고 그 과정에서 나중에 유물 작업을 빌드 게시,하지만 분명히 $(build.artifactstagingdirectory)\\이 비어 : 여기

그들이 있습니다.

## [경고] 'd : \ a \ 1 \ a'디렉토리가 비어 있습니다. 이슈를 작성하는 데 아무 것도 추가되지 않습니다.

이상하게도, 내가 심볼을 게시하는 프로세스의 다른 작업에서는 모든 것이 장애없이 진행됩니다.

한 번 더 : 저는 호스팅 된 빌드 에이전트를 사용하고 있습니다. 중요하지 않은지 확실하지 않습니다.

그게 내가 제공 할 수있는 모든 관련 정보입니다. 내가 여기서 벗어나는거야? 나는 과거에 Octopus Deploy를 사용했고, Octopack을 서비스에 설치해야한다는 것을 알고 있습니다. 여기서도 비슷한 것을해야합니까?

답변

1

MSbuild 인수가 필요하지 않습니다. 대부분은 ASP .NET 프로젝트에 적용되며 콘솔 응용 프로그램에는 아무 것도 수행하지 않습니다.

모두를 /p:OutDir=$(Build.ArtifactStagingDirectory)으로 바꿉니다. 그러면 MSBuild는 빌드 출력을 이슈 스테이징 디렉토리에 저장합니다.

+0

예, 그게 전부입니다. 후속 질문을 할 수 있다면 어떻게 알았습니까? 내 Google-fu는 MSBuild 인수를 조사 할 때 분명히 부족했으며 앞으로 참조 할 생각입니다. – FishBasketGordo

관련 문제