문제
내 개발 기계에서 설치했습니다 VSEWSS 1.3 그리고 내가 할 수 있도록 로컬 IIS 6을 구성했습니다. 짓다 내 SharePoint 프로젝트 및 배포 그만큼 생성 된 WSP 로컬 컴퓨터에 파일을 파일하십시오. WSP 파일은 포장 단계에 의해 생성되며 다른 시스템에 성공적으로 설치할 수 있습니다.
이제 나는해야한다 내 프로젝트를 빌드 머신으로 마이그레이션하십시오 현재 SharePoint가 설치되지 않았으며 VSEWSS에 대해 구성되지 않습니다 (VSEWSS 웹 서비스 엔드 포인트 없음). SharePoint 및 VSEWSS와 함께 사용하기 위해 빌드 머신에서 IIS를 구성 할 필요없이 WSP 파일의 빌드를 자동화 할 수있는 방법이 있습니까?
일부 책은 다음을 설명합니다 수동 단계 사용 Makecab.exe 및 DDF 정의 파일이지만 아무 것도 볼 수 없습니다 VSEWSS에서 생성 한 DDF 파일 (자동 빌드 프로세스를 구성하는 데 사용할 수있는 임시 폴더에서 생성 될 수 있습니까?).
해결책
방금 같은 문제에 직면했습니다. 전체 솔루션을 개발하기위한 다른 도구를 선택했습니다. WSPBuilder
훨씬 깨끗하고 방해가 적습니다. 또한 명령 줄에서 사용할 수 있으며 파일 빌드에 적합합니다.
나는 만든 일부 스크립트를 수정했습니다 Bil Simser 프로젝트를 컴파일하고 배포하고 코드를 VSEWSS에서 WSPBUILDER로 옮기기 위해. 내 컴퓨터 나 빌드 머신에서 매력처럼 작동합니다.
WSPBuilder를 찾을 수 있습니다 http://www.codeplex.com, 및 이러한 대상은 nantcontrib (on www.tigris.org) 일하다.
다음은 내가 사용하는 목표 중 일부입니다.
<target name="build" depends="compile">
<copy todir="${build.dir}\12\">
<fileset basedir="${sharepoint.dir}\12">
<include name="**/*"/>
</fileset>
</copy>
<copy
file="${sharepoint.dir}\solutionid.txt"
tofile="${build.dir}\solutionid.txt"
/>
<call target="buildsolutionfile" />
</target>
<target name="buildsolutionfile">
<exec program="${wspbuilder.exe}" workingdir="${build.dir}">
<arg value="-BuildDDF"/>
<arg value="${debug}"/>
<arg value="-Cleanup"/>
<arg value="false"/>
<arg value="-FolderDestination"/>
<arg value="${build.dir}"/>
<arg value="-Outputpath"/>
<arg value="${build.dir}"/>
<arg value="-TraceLevel"/>
<arg value="verbose"/>
</exec>
<copy
file="${build.dir}\${package.file}"
tofile="${solution.dir}\${package.file}"/>
</target>
<target name="addsolution">
<exec program="${stsadm.exe}" verbose="${verbose}">
<arg value="-o" />
<arg value="addsolution" />
<arg value="-filename" />
<arg value="${solution.dir}\${package.file}" />
</exec>
<call target="spwait" />
</target>
<target name="spwait" description="Waits for the timer job to complete.">
<exec program="${stsadm.exe}" verbose="${verbose}">
<arg value="-o" />
<arg value="execadmsvcjobs" />
</exec>
</target>
<target name="app.pool.reset" description="Resets Sharepoint's application pool.">
<iisapppool action="Restart" pool="${apppool}" server="${server}" />
</target>
<target name="deploysolution" depends="addsolution">
<exec program="${stsadm.exe}" workingdir="${build.dir}" verbose="${verbose}">
<arg value="-o" />
<arg value="deploysolution" />
<arg value="-name" />
<arg value="${package.file}" />
<arg value="-immediate" />
<arg value="-allowgacdeployment" />
<arg value="-allcontenturls" />
<arg value="-force" />
</exec>
<call target="spwait" />
<call target="app.pool.reset" />
</target>