VSTS経由でクラウドでビルドを行っています。この場合、私は、クリック一回アプリケーションを公開し、MSBuildの引数を提供しています:Visual Studio Team Services内のMSBuildにバージョン情報を渡すには
/target:publish
/property:PublishUrl=http://somurl.com/somepath/myapp.application
/property:ApplicationVersion="1.$(Year:yyyy).0.0"
私は本当に最後の1がすることを望む:
/property:ApplicationVersion="1.$(Year:yyyy).$(DayOfYear).$(Build.BuildNumber)"
ただし、ハードコードされた文字列が、何が私を与えます:
C:\プログラムファイル(x86の)\ MSBuildの\ 14.0 \ビン\のMicrosoft.Common.CurrentVersion.targets(3506,5):エラーMSB3174: 'のAssemblyVersion' の値が無効です。
ハードコードされたバージョン番号(例:「1.0.9.99」)を使用すると問題なく動作します。
$(Build.BuildNumber)が失敗すると思います。注:この値には、空白やその他の無効なラベル文字を含めることができます。これらの場合、ラベル形式は失敗します。 – Daniel
ログを見ると、MSBuildコマンドラインで実際の値に置き換えられた変数が表示され、何が間違っているかのヒントが得られるはずです。 – DaveShaw
DaveShawは、実際に何が生成されているかを見ることは非常に役に立ちますが、私が推測するには$(Build。(Rev:.r) –