سؤال

بعد أن بنى MSBUILD حلاي (مع موقع ASP.NET)، وقد بنى مشروع ويب وشرحة ووضع الموقع الإلكتروني في الدليل _PublishedWebsites:

c: mybuilds buildname daily_20090519.3 seriament_publishedwebsites mywebsite.

كيف يمكنني نسخ هذا إلى الدليل الثابت حيث يشير IIS إلى موقع الاختبار؟

لقد وجدت أحمالا من مقتطفات التعليمات البرمجية، لكنني لا أستطيع أن أجد واحدة ستأخذ في الاعتبار حقيقة أن اسم الدليل هذا يتغير.

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

المحلول

هذا سهل جدا. يمكنك تحرير المشروع وإدراج شيء مشابه لما يلي.

<PropertyGroup>
  <OutputDest>$(MSBuildProjectDirectory)\..\OutputCopy\</OutputDest>
</PropertyGroup>
<Target Name="AfterBuild">
  <!-- Create an item with all the output files -->
  <ItemGroup>
    <_OutputFiles Include="$(OutputPath)**\*" Exclude="$(OutputPath)obj\**\*" />
  </ItemGroup>
  <!-- You probably don't want to include the files in the obj folder so exclude them. -->

  <Message Text="OutputDest : $(OutputDest)" />
  <Copy SourceFiles="@(_OutputFiles)"
        DestinationFiles="@(_OutputFiles->'$(OutputDest)%(RecursiveDir)%(Filename)%(Extension)')"/>
</Target>

هل هذا ما كنت تبحث عنه؟

كتابي: داخل محرك Microsoft Build: باستخدام Msbuild و Team Foundation Build

نصائح أخرى

أنا أستخدم تقنية مختلفة.

<PropertyGroup>
    <BinariesRoot>c:\BinariesForIis\</BinariesRoot>
</PropertyGroup>

ال c:\BinariesForIis\ سيتم استخدامها للمخرجات المباشرة المباشرة الثنائيات (قبل النسخ إلى ...\Daily_20090519.3\Release_ ...).

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top