1

私は 64 ビットの msbuild 拡張機能を使用しており、ビルド ファイルにこれがあります。

<AssemblyInfo AssemblyInfoFiles="$(MSBuildProjectDirectory)\DesktopAgent\properties\AssemblyInfo.cs" 
              AssemblyCopyright="Copyright 2012 Alpine Access" 
              AssemblyVersion="1.0.0.0"
              AssemblyFileVersion="1.0.0.0"
              >
</AssemblyInfo>

それが重要な場合、私はこれを私のassemblyInfo.csに持​​っています

[assembly: AssemblyVersion("1.0.*")]
//[assembly: AssemblyFileVersion("2.1.0.0")]

別の投稿でそれを読んだので、2行目はコメントアウトされていますが、役に立ちませんでした。

次のエラーが表示されます

C:\AAROOT\csharpprojects\toolbar\project.build(17,5): error MSB4018: System.Arg
umentException: The specified string is not a valid version number\r

2つの質問

  1. なぜこのエラーが発生するのですか
  2. このタスクは以前の AssemblyInfo.cs ファイルを上書きまたは変更しますか? (AssemblyInfoFiles が入力/出力なのか、その両方なのかはわかりません)

ちなみに、プロパティ $(MSBuildExtensionsPath) は何らかの奇妙な理由で 32 ビット パスに設定されます (パスが機能しないように 64 ビット ツールのみをインストールしたため、プロパティを手動で設定する必要があります....これは、そのプロパティを正しく設定しなかったインストーラーの何らかのバグですか?

ありがとう、ディーン

4

1 に答える 1

2

私があなたが持っているものを試したとき、ここで同じ結果を得ました。既存の assemblyinfo ファイルに 1.0.* が含まれている場合、本物のバグのように見えます。奇妙なことに、有効なバージョン番号でないものはすべて同じ問題を引き起こします。ただし、 1.0.* を削除すると、うまくいきます。Id は 1.0.0.0 にして、タスクを介して置き換えます。

于 2012-11-16T13:41:36.090 に答える