سؤال

هل يعرف Anyboy كيفية اجتياز LastChangeNumber المعلمة إلى msbuild؟

أحاول استخدام هذا:

<Exec Condition=" '$(LastChangeNumber)' != '' " Command=">\\server\destination\subversion_revision.txt echo subversion $(LastChangeNumber)" />

الذي يتجاهل بنجاح الحالة إذا أترك المعلمة lastchangenumber من msbuild، وينجح إذا مرت في معلمة بطابقين مثل /p:LastChangeNumber=foo. وبعد ومع ذلك، عندما أحاول ذلك:

  <msbuild>
    <executable>C:\WINDOWS\Microsoft.NET\Framework\v3.5\MSBuild.exe</executable>
    <projectFile>MySolution.sln</projectFile>
    <buildArgs>/noconsolelogger /p:Configuration=Debug /p:LastChangeNumber=$(LastChangeNumber) /v:diag</buildArgs>
    <logger>C:\Program Files\CruiseControl.NET\server\ThoughtWorks.CruiseControl.MsBuild.dll</logger>
  </msbuild>

أحصل على خطأ في سجل خادم Crusiecontrol.net:

CHANNIONWORKS.CRUISECONTROL.CORE.CONFIG.PREPROCESOR.evaluationException: إشارة إلى رمز غير معروف lastchangeNumber

هل كانت مفيدة؟

المحلول

حسنا، وجدت طريقة واحدة للقيام بذلك:

<Exec Command=">$(DeployDir)label.txt echo subversion $(CCNetLabel)" />

مع تسمية مخصصة:

<labeller type="assemblyVersionLabeller">
  <major>2</major>
  <minor>0</minor>
</labeller>
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top