по предложению Ритча Я добавляю свое решение.
Изначально у меня было
<TempProperty>Property Value</TempProperty>
<PropertyGroup>
<ItemList>
<ConfigChange>
<PlaceHolder>#MACHINE_NAME#</PlaceHolder>
<Value>$(TempProperty)</Value>
<IsList>False</IsList>
</ConfigChange>
</ItemList>
</PropertyGroup>
, теперь моя проблема заключалась в том, что я предоставлял часть файла свойств для своей пользовательской задачи
как
<UpdatePegasusConfigXML
Environment="$(Environment)"
Instance="$(Instance)"
BuildSourceRoot="$(BuildSourceRoot)"
></UpdatePegasusConfigXML>
сейчас, так как я сам указывал путь к файлу, поэтому он взял значение, которое было помещено в тег «Значение», а не собирал значение свойства, поэтому на уровне кода я получал «$(TempProperty) "вместо« Значение свойства »
Теперь то, что я сделал, было вместо создания свойства Group. Я создал ItemGroup следующим образом
<ItemGroup>
<PlaceHolders Include="#MACHINE_NAME#">
<Value>$(TempProperty)</Value>
<IsList>True</IsList>
</PlaceHolders>
</ItemGroup>
Теперь я обновил свою пользовательскую задачу, чтобы взять IteamGroup какодин из входов, таким образом, вызов изменился на
<UpdatePegasusConfigXML
Environment="$(Environment)"
Instance="$(Instance)"
BuildSourceRoot="$(BuildSourceRoot)"
PlaceHolders="@(PlaceHolders)"
></UpdatePegasusConfigXML>
, теперь на уровне кода я могу получить значение в теге «Value» ItemGroup.
Я надеюсь, что объяснил свойРешение, которое было понятно.