6

MSBuild エンジンは、'$([MSBuild]::Add($(OldRevision), 1))' ステートメントに対してエラー MSB4186 を返します。hereの例を使用していますが、うまくいきません:

error MSB4186: Invalid static method invocation syntax:
"[MSBuild]::Add($(OldRevision), 1)". Input string was not in a correct format.
Static method invocation should be of the form: $([FullTypeName]::Method()),
e.g. $([System.IO.Path]::Combine(`a`, `b`))

これが私が実行しようとしているものです:

<CreateProperty Value="$([MSBuild]::Add($(OldRevision), 1))">
  <Output
      TaskParameter="Value"
      PropertyName="NewRevision" />
</CreateProperty>

適切な構文は何だろう

ps はい、MSBuild 4.5 を使用しています

4

1 に答える 1

1

このプロパティ構文は正しいと思いますが、CreateProperty タスクでは機能していません。CreateProperty 関数は非推奨です。使用する理由はほとんどありません。

このより単純なプロパティ構文は私にとってはうまくいきます:

<PropertyGroup>
    <NewVersion>$([MSBuild]::Add($(OldVersion), 1))</NewVersion>
</PropertyGroup>

また、これも同様に機能します(任意のターゲット内):

<Message Text="OldVersion=$(OldVersion), NewVersion=$([MSBuild]::Add($(OldVersion), 1))" />
于 2012-12-13T01:14:08.637 に答える