Создание файла WSP на сборочной машине
-
16-09-2019 - |
Вопрос
На моей машине разработки я установил ВСеВСС 1.3 и настроил локальный IIS 6, чтобы я мог строить мой проект SharePoint и развертывать тот созданный WSP файл на локальную машину.Файл WSP создается на этапе упаковки, и я могу успешно установить его на другие машины.
Теперь я должен перенести мой проект на нашу сборочную машину на котором в настоящее время не установлен SharePoint и не настроен для VSeWSS (нет конечной точки веб-службы VSeWSS). Есть ли способ автоматизировать сборку файла WSP без необходимости настройки IIS на компьютере сборки для использования с SharePoint и VSeWSS?
В некоторых книгах описывается ручной шаг использования MakeCab.exe и определение DDF файл, но я не вижу ни одного Файл DDF, созданный VSeWSS (возможно, он сгенерирован в папке TEMP, которую я мог бы использовать для настройки процесса автоматической сборки?).
Решение
Я только что столкнулся с той же проблемой.Я выбрал другой инструмент для разработки всего решения:я нашел 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>