在我的开发机器上,我安装了VSeWSS 1.3,并配置了本地IIS 6,这样我就可以构建 machine项目,并将生成的WSP文件部署到本地机器上。WSP文件是由打包步骤生成的,我可以成功地安装在其他机器上。
现在,我必须将我的项目迁移到我们的构建机器,该机器目前没有安装SharePoint,也没有为VSeWSS (没有VSeWSS web服务端点)配置。是否有一种方法可以自动生成WSP文件,而无需在构建计算机上配置IIS以用于SharePoint和VSeWSS?
有些书描述了使用MakeCab.exe并定义DDF文件的手动步骤,但是我没有看到VSeWSS生成的任何DDF文件(它是否是在临时文件夹中生成的,可以用来配置我的自动构建过程?)
发布于 2009-08-13 22:53:57
我也面临着同样的问题。我选择了另一个开发整个解决方案的工具:我发现WSPBuilder更干净,侵扰性更小。它也可以从命令行中使用,这对于构建文件非常有用。
我修改了比勒·西姆塞创建的一些Nant脚本,以便编译和部署项目,并将代码从VSeWSS迁移到WSPBuilder。无论是在我的机器上还是在建造机器上,它都像一种魅力。
您可以在WSPBuilder上找到http://www.Codeplex.com,而这些目标需要nantContrib (在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>https://stackoverflow.com/questions/1274962
复制相似问题