Как сохранить значения, определенные в одной цели сборки, в другом таргетинге? Если PropertyGroup не является объектом записи MsBuild, я должен использовать здесь, что это такое? ReleaseDir печатается нормально в цель «пакета», но пусто в «DoPackage»Передача значения группы свойств из одной задачи MsBuild в другую
<Target Name="Package">
<PropertyGroup>
<ReleasesDir>c:\tmp</ReleasesDirBase>
</PropertyGroup>
<Message Text="$(ReleaseDir)"/>
<CallTarget Targets="DoPackage" Condition="!Exists('$(ReleaseDir)')"/>
</Target>
<!-- Do the acutal packaging -->
<Target Name="DoPackage">
<Message Text="Creating package in '$(ReleaseDir)'"/>
<Error Condition="'$(ReleaseDir)' == ''" Text="No ReleaseDir defined"/>
<MakeDir Directories="$(ReleaseDir)"/>
...
</Target>
Я бы хотел, чтобы DoPackage работал только в том случае, если ReleaseDir существует (для этого я использовал условие в CallTarget). Могу ли я достичь этого с помощью DependsOnTarget? – ripper234
Теперь, когда я действительно прочитал ссылку, которую вы опубликовали, решение прост - я написал отдельную задачу под названием «DefineProperties», и после ее завершения свойства ... определены. Благодарю. – ripper234
Да, это решение, я обновил образец. –