2013-02-26 6 views
0

웹에 대한 많은 정보를 보았습니다. 그러나 명확한 내용이 없습니다. & 특정 웹 서비스 나 웹 사이트를 빌드 할 때 지정한 특정 폴더에 게시하는 문제를 해결하는 것 같습니다. 내가 NANT과 NANT있는 contrib를 사용하고MSBUILD가 웹 서비스를 게시하는 위치를 지정하는 방법은 무엇입니까?

:

<target name="build" description="builds the service"> 

     <msbuild project="${buildoutput}\${service.source}\wsMyService.sln" >   
      <property name="Configuration" value="Release" />   
      <property name="PublishDir" value="${buildoutput}\${service.target}\" />    
      <property name="Targets" value="Publish" /> 
     </msbuild> 

    </target> 

사람이이 작업을 수행하도록되어 어떻게 저를 표시 할 수 있습니다. 프로젝트의 속성 페이지에서 출력 폴더를 변경할 수 있지만 빌드 시간에 경로를 지정할 수 있도록 Nant에서이 파일을 구성 할 수있게하려고합니다.

답변

0

명령 줄에서 msbuild를 호출하면 문자열을 전달하여 msbuild 속성에 할당 할 수 있습니다. 나는 NAnt에 대해 아무 것도 모른다. 그래서 msbuild.exe를 호출해야한다. 따라서 다음과 같이 msbuild 속성을 재정의 할 수 있습니다.

MsBuild /property:buildoutput=C:\arbitrary\folder\bin\ 

이러한 등록 정보는 빌드 파일에 지정한 내용보다 우선합니다.

+0

buildoutput은 게시와 같은가요? – jaffa

0

이 현재의 MSBuild를 사용하여 웹 서비스를 구축하여 무엇을 임 :

<Target Name="BuildWebService"> 
    <ConvertToAbsolutePath Paths="$(Root)"> 
     <Output TaskParameter="AbsolutePaths" PropertyName="Root" /> 
    </ConvertToAbsolutePath> 

    <ItemGroup> 
     <WebServices Include="$(Root)\services\Solutions\**\*.host.csproj"/> 
    </ItemGroup> 

    <MSBuild Projects="%(WebServices.FullPath)" 
      Targets="Build" 
      Properties="WebProjectOutputDir=$(Root)\services\build\WebService\%(RecursiveDir);OutDir=$(Root)\services\build\WebService\%(RecursiveDir)\bin\" /> 
    </Target> 

당신이 쉽게 충분히 NANT 번역 할 수 있기를 바랍니다.

+0

유망 해 보입니다. 감사합니다. 다음에 기회가 생기면 이걸 시도해 볼게. – jaffa