質問
開発マシンにインストールした VSeWSS 1.3 ローカル IIS 6 を構成して、 建てる 私のSharePointプロジェクトと 展開する の 生成されたWSP ファイルをローカル マシンにコピーします。WSP ファイルはパッケージ化ステップによって生成され、他のマシンに正常にインストールできます。
今、私はしなければなりません 私のプロジェクトをビルドマシンに移行する 現在、SharePoint がインストールされておらず、VSeWSS 用に構成されていません (VSeWSS Web サービス エンドポイントがありません)。 SharePoint および VSeWSS で使用するためにビルド マシン上で IIS を構成することなく、WSP ファイルのビルドを自動化する方法はありますか?
いくつかの本には以下のことが説明されています 手動ステップ 使用の MakeCab.exe と DDF の定義 ファイルがありますが、何も表示されません VSeWSS によって生成された DDF ファイル (自動ビルド プロセスの構成に使用できる TEMP フォルダーに生成される可能性がありますか?)。
解決
私も同じ問題に直面しました。ソリューション全体を開発するために別のツールを選択しました。見つけました WSPBuilder
はるかにクリーンで邪魔になりません。コマンド ラインからも使用できるため、ビルド ファイルに最適です。
によって作成されたいくつかの Nant スクリプトを修正しました。 ビル・シムサー プロジェクトをコンパイルしてデプロイし、コードを 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>