2017-11-17 5 views
0

여러 프로젝트가 포함 된 ms-build 명령 줄을 사용하여 솔루션을 작성하려고합니다.msbuild 명령 줄을 사용하여 exe 및 webapp 빌드

이들 중 4 명이 출력으로 exe 파일을 만들고 나머지 하나는 단일 웹 응용 프로그램을 만듭니다.

error MSB4057: The target "ResolveWebJobFiles" does not exist in the 
project. 

주 - - 내가 MSBuild를를 사용하여 둘을 빌드 할 때

는 지금, 그것은 오류 -

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

오류를 발생 내가 재산 제거 할 경우 "/ P : WebPublishMethod = 패키지를" 잘 실행되지만 zip 파일은 작성되지 않습니다.

아무도 나에게 Zip 파일을 만들 수있는 속성을 제안 해 줄 수 있습니까?

답변

0

문제점은 Webjob-List.json 파일에서 속성에서 찾을 수 있습니다.

거기에서 빠진 프로젝트에 대한 이전 참조를 사용 중이므로 경로를 삭제하면 문제가 해결됩니다.

1

아무도 나에게 Zip 파일을 만들 수있는 속성을 제안 할 수 있습니까?

Azure 웹 사이트에서 웹 응용 프로그램을 Azure WebJob으로 배포 했습니까? 그렇다면 웹 프로젝트에 아래 패키지를 설치했는지 확인해야합니다. 패키지 ID = "Microsoft.Web.WebJobs.Publish"버전 = "1.0.2".

하지 않으면, 나는 당신의 웹 프로젝트에 액세스 할 수 있습니다 전에이 오류가 "대상"ResolveWebJobFiles "는 프로젝트에 존재하지 않는"가지고있는 이유 아주 확실하지 않다.

편집 *.csproj 파일을 프로젝트 파일의 압축 대상을 추가합니다 :

<ItemGroup> 
    <Link Include="bin\*.dll" /> 
    <Link Include="bin\*.exe" /> 
    <Link Include="bin\*.exe.config" /> 
</ItemGroup> 

<Import Project="..\.build\MSBuild.Community.Tasks.Targets" /> 

<Target Name="AfterBuild" Condition="'$(Configuration)' == 'Release'"> 
<PropertyGroup> 
<ReleasePath>bin</ReleasePath> 
</PropertyGroup> 
<Zip Files="@(Content);@(Link)" WorkingDirectory="$(ReleasePath)" ZipFileName="output\$(AssemblyName).zip" ZipLevel="9" /> 
</Target> 

참고 :하지만 난 당신이 당신을 위해 작동하는지 확인할 수 있습니다, 당신에게 해결 방법을 제공하려는 당신은 nuget를 추가 필요 패키지 "MSBuildTasks"이고 ReleasePath을 다른 폴더로 변경할 수 있습니다.

자세한 내용은 this document을 참조하십시오.

+0

레오 감사합니다, 답변을 게시 한 후 오랜 시간을 기다려 주셔서 감사합니다. 솔루션을 얻었지만 Properties/WebJob-List.json의 경로 참조가 적절하지 않아서 오류가 발생했습니다. – Mukul

+0

답장을 보내 주셔서 감사합니다. – Mukul

+0

@Mukul, np. Properties/WebJob-List.json에서 경로 참조를 수정하면 지금이 문제는 어떻습니까? –