MSBuild Property References - PullRequest
       6

MSBuild Property References

5 голосов
/ 05 марта 2012

В чем разница между ссылками на свойства, такими как $ (TargetPath) и! (TargetPath) во время событий MSBuild PreBuildEvent / PostBuildEvent?Я обнаружил, что в некоторых ситуациях они работают по-разному, но я не могу найти какую-либо документацию в форме "! (".

http://msdn.microsoft.com/en-us/library/bb383819.aspx Это наиболее близкий вариант, который я могу найти.

Пример:

<Target Name="BeforeBuild">
  <CreateProperty Value="NewValue">
    <Output TaskParameter="Value" PropertyName="TargetPath" />
  </CreateProperty>
</Target>

<PropertyGroup>
  <PreBuildEvent>
echo $(TargetPath)
echo !(TargetPath)
  </PreBuildEvent>
</PropertyGroup>

Повторяет исходный TargetPath, а затем повторяет "NewValue". Однако это не работает для других свойств, которые я определил.

Любая помощь очень ценится!

1 Ответ

1 голос
/ 19 марта 2012

Просто переписав наш процесс сборки, я могу честно сказать, что никогда не использовал!чтобы ссылаться на что-либо, все, для чего я когда-либо использовал этот символ, это сказать «НЕ», как в логическом операторе.

На самом деле я не могу найти это использование где-либо в документации или воспроизвести поведение, которое вы описываете.

Я сильно подозреваю, что это недопустимый / поддерживаемый синтаксис для ссылок на что-либо.

...