MSBuild dosyasımda üç özellik belirtmek ve bir özelliği diğerinin üzerine yazmak (çağrılan hedefe bağlı olarak) yazmak istiyorum, ancak bunun nasıl yapılacağını anlayamıyorum. Ben buna göre değer olduğunu ayar özelliğini yeniden ilan etmeye çalışıyorum ama bu olmuyor Şu andaMSBuild öğesinin üzerine yazma özellikleri
<PropertyGroup>
<DeployPath_TEST>\\test-server-path\websites\mysite</DeployPath_TEST>
<DeployPath_LIVE>\\live-server-path\websites\mysite</DeployPath_LIVE>
<DeployPath></DeployPath>
</PropertyGroup>
<Target Name="Deploy-TEST">
<PropertyGroup>
<DeployPath>$(DeployPath_TEST)</DeployPath>
</PropertyGroup>
<CallTarget Targets="Deploy-Sub"/>
</Target>
<Target Name="Deploy-LIVE">
<PropertyGroup>
<DeployPath>$(DeployPath_TEST)</DeployPath>
</PropertyGroup>
<CallTarget Targets="Deploy-Sub"/>
</Target>
<Target Name="Deploy-Sub">
<Message Text="Deploying to $(DeployPath)"/>
<MSBuild Projects="MySolution.csproj" Targets="Rebuild" />
<ItemGroup>
<MyFiles Include="**\*"/>
</ItemGroup>
<Copy SourceFiles="@(MyFiles)"
DestinationFiles="@(MyFiles->'$(DeploymentPath)\%(RecursiveDir)%(FileName)%(Extension)')"/>
</Target>
: My yapı dosyası şuna benzer.
Teşekkürler, bu yararlı oldu. Ben hala topluca yeniyim ve MS benim düşünceme göre ilgili kavramları açıklayan iyi bir iş yapmıyor. Bir not daha. Küresel bir mülk yaratmadan aslında kaçtım; Bu, içeriği biraz daraltmak için kodu okumak daha kolaydır: Hedef A, B ve C çağrıları hedefleri B, bir liste özelliği ayarlar ve C, bu özelliğin değeri üzerinde toplu işlem yapar. mdresser, mülkün aynı hedefe ayarlandığını belirttiği gibi işe yaramadı. Umarım birisine yardım eder; Bu yazıyı bulmadan önce bunu anlamaya çalışmak için 3-4 saat harcadım. – AlexeiOst
Bir nokta daha, sadece Cat'in değiştiğine dair bir bildirim aldığınızı, değişiklikleri kaydetmeyi denediniz mi diyorsunuz? Çalışıyor mu? (Şüphe duyuyorum) –