Ich möchte drei Eigenschaften in meiner MSBuild-Datei deklarieren und eine Eigenschaft mit dem Wert eines anderen überschreiben (abhängig von dem Ziel, das aufgerufen wird), kann aber nicht herausfinden, wie das geht. Meine Build-Datei sieht in etwa wie folgt aus:Eigenschaften mit MSBuild überschreiben
<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>
Im Moment versuche ich die Eigenschaft neu zu deklarieren Einstellung es Wert ist entsprechend, aber das funktioniert nicht.
Danke, das war nützlich. Ich bin immer noch etwas neu im Batching und MS macht keine gute Arbeit, um verwandte Konzepte meiner Meinung nach zu erklären. Noch eine Anmerkung. Ich kam tatsächlich ohne ein globales Eigentum zu schaffen; Das verengt den Kontext ein wenig, so dass es einfacher ist, den Code zu lesen: Ziel A ruft Ziele B und C auf. B legt eine Listeneigenschaft fest und C führt eine Stapelverarbeitung für den Wert dieser Eigenschaft durch. als Fräulein notierte Einstellung der Eigenschaft in das gleiche Ziel hat nicht funktioniert. Hoffe es hilft jemandem; Ich habe 3-4 Stunden damit verbracht, dies zu verstehen, bevor ich diesen Beitrag gefunden habe. – AlexeiOst
Noch ein Punkt, Sie sagen, Sie erhalten eine Benachrichtigung, dass nur Cat geändert hat, haben Sie versucht, die Änderungen zu speichern? Funktioniert es? (Ich bezweifle es) –