빌드 도중 또는 사전 빌드 도중이나 빌드 후 도중에 MSbuild를 호출 할 수 있습니까? 솔루션에서 두 가지 웹 프로젝트를 게시하려고합니다. 나는 파일 시스템 퍼블리싱을 사용하고있다. 여기에 요구되는 것은 빌딩 솔루션이 두 웹 프로젝트를 퍼블리시해야한다는 것이다. 누구든 제발 제안 할 수 있니?MSbuild Publish 호출
0
A
답변
0
포스트 빌드 이벤트에 너무 많은 배포 논리를 적용하지 않을 것입니다. 그것은 "허약하다".
.csproj 파일을 너무 많이 사용하는 대신 별도의 .msbuild 파일을 만들고 "추가"논리를 사용하십시오.
아래는 기본적인 예입니다. xml을 파일 호출 "MyBuildAndDeploy.msbuild"에두고 .sln (또는 .csproj) 파일과 동일한 폴더에 넣은 다음 명령 줄에서 msbuild.exe "MyBuildAndDeploy.msbuild"를 사용하십시오.
다음은 기본 솔루션을 작성한 다음 어딘가에 파일을 복사하는 기본 예제입니다.
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="AllTargetsWrapper">
<PropertyGroup>
<!-- Always declare some kind of "base directory" and then work off of that in the majority of cases -->
<WorkingCheckout>.</WorkingCheckout>
<BuildResultsRootFolder>$(WorkingCheckout)\..\BuildResults</BuildResultsRootFolder>
</PropertyGroup>
<Target Name="AllTargetsWrapper">
<CallTarget Targets="BuildSolution" />
<CallTarget Targets="CopyBuildOutputFiles" />
</Target>
<Target Name="BuildSolution">
<MSBuild Projects="$(WorkingCheckout)\MySuperCoolSolution.sln" Targets="Build" Properties="Configuration=$(Configuration)">
<Output TaskParameter="TargetOutputs" ItemName="TargetOutputsItemName"/>
</MSBuild>
<Message Text="BuildSolution completed" />
</Target>
<Target Name="CopyBuildOutputFiles">
<MakeDir Directories="$(BuildResultsRootFolder)\$(Configuration)" Condition="!Exists('$(BuildResultsRootFolder)\$(Configuration)\')"/>
<ItemGroup>
<BuildOutputFilesExcludeFiles Include="$(WorkingCheckout)\**\*.doesnotexist" />
<BuildOutputFilesIncludeFiles Include="$(WorkingCheckout)\**\*.dll" Exclude="@(BuildOutputFilesExcludeFiles)" />
<BuildOutputFilesIncludeFiles Include="$(WorkingCheckout)\**\*.exe" Exclude="@(BuildOutputFilesExcludeFiles)" />
<BuildOutputFilesIncludeFiles Include="$(WorkingCheckout)\**\*.config" Exclude="@(BuildOutputFilesExcludeFiles)" />
<BuildOutputFilesIncludeFiles Include="$(WorkingCheckout)\**\*.pdb" Exclude="@(BuildOutputFilesExcludeFiles)" />
</ItemGroup>
<Copy SourceFiles="@(BuildOutputFilesIncludeFiles)"
DestinationFolder="$(BuildResultsRootFolder)\$(Configuration)\"/>
</Target>
</Project>
관련 문제
- 1. msbuild publish .deploy extension
- 2. 사용자 지정 작업 내에서 MSBuild 작업 호출
- 3. MSBuild와 MSBuild MSBuild Outdir을 가진 MSBuild와 MSTest
- 4. 언제 msbuild 파일을 사용합니까?
- 5. Publish 및 WebPublish 대상의 차이점은 무엇입니까?
- 6. eZ Publish beginner
- 7. Meteor Publish and MongoDB
- 8. Publish Asp.Net Solution
- 9. gradle maven-publish publishMavenWebPublicationToRemoteArtifactoryRepository
- 10. Publish Only Dependencies
- 11. Android market publish problem
- 12. Clickonce universal publish
- 13. publish aem의 복제 리스너
- 14. ROS publish 부울 배열
- 15. Facebook SDK Unity Publish
- 16. FB.ui/Publish Stream Issue
- 17. asp.net publish problem
- 18. C# - Publish .exe
- 19. publish/subscribe middleware
- 20. cfs : http-publish 사용
- 21. MSBuild building project references
- 22. "Web Deploy Publish Profile"속성은 무엇에 사용됩니까? TFS 탐색기에서
- 23. Meteor Publish/Subscription Lag Time
- 24. Publish 구독을위한 Redis Channel 구성
- 25. C# com reference publish crash
- 26. Meteor Publish 빈 커서 반환
- 27. Meteor 0.9 package publish issue
- 28. Dojo의 Publish Subscribe 모델 사용
- 29. Publish Asp.net 웹 응용 프로그램을
- 30. Redis Publish/Subscription 데이터 지속성