سؤال

على جهاز التطوير الخاص بي VSewss 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>
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top