2016-11-09 9 views
1

他のプロジェクトを参照しているプロジェクトがあります。それらはすべてプラットフォームとしてx86を使用して構築されています。これはデスクトップ上でうまくコンパイルされます。私は.csprojファイルを編集するとき 有効なcsprojを構築するときに 'AssemblyVersion'の値が無効

が、私はそれと間違って何も見えない「のAssemblyVersion」の値が無効です:私のリモートVSOのビルド時に

私は常にエラー

MSB3174を取得しています。私は間違って何をしていますか?

VSO構築の引数は、単純です: /T:私は何の問題

引数に$(Build.BuildNumber)を使用する他のプロジェクトを持っている)

を/p:ApplicationVersion=$(Build.BuildNumberを公開します(わかりやすくするために切り取ら)ログを構築VSOに見られるように:

"C:\Program Files (x86)\MSBuild\12.0\bin\msbuild.exe" "[App_PATH].csproj" 
/nologo 
/nr:false 
/t:"Clean" 
/dl:CentralLogger,[*snip dll path] 
/t:Publish 
/p:ApplicationVersion=DEPLOY.[App_Name]_2016.11.09.16 
/p:platform="x86" 
/p:configuration="DV1" 
/p:_MSDeployUserAgent="VSTS[*snip]" 

編集:私は、ローカルコマンドプロンプトからのMSBuildを実行しようとしたと私は同じ動作を取得。 VSTSまたはそのセットアップ情報のいずれかが責任を負いません。

私はそれを修正するために私のアプリを見ることを知っていればいいと思う。

+0

あなたのビルドの一部として(通常はAssembliyInfo.cs中)のAssemblyVersionを取り込む手順持っていますか - 多分存在しないか、ビルドサーバー上で異なる変数を使用して? – DaveShaw

+0

何か問題がないと思われる部分を私たちに見せてもらえますか?これを[この質問]のようなコマンドラインパラメータで上書きしますか?(http://stackoverflow.com/questions/40223153/how-do-i-pass-a-version-information-to-msbuild-within-visual-studio-チームサービス)? –

+0

AssemblyInfo.csファイルのAssemblyFileVersionを更新するためのビルドの前にステップがありますが、その作業が正しく行われていることを確認しています。また、ビルドを実行せずに同じ動作を行っています。 AssemblyVersion:1.0.0のデフォルト値。0とAssemblyFileVersion:1.0.0.0 –

答えて

2

問題はここにある:

/p:ApplicationVersion=DEPLOY.[App_Name]_2016.11.09.16 

バージョン形式が要件を満たしていません。この形式で試してください:1.2.3.4。

詳細については、MSBuild Error MSB3174およびVersion Constructor (String)を参照してください。

備考

バージョンパラメータがその順序で、わずかな主要コンポーネント、 ビルド、およびリビジョンを含めることができ、すべてがピリオドで区切られています。 少なくとも2つのコンポーネントがあり、最大で4つでなければなりません。最初の2つの コンポーネントは、メジャーおよびマイナーとみなされます。未指定の コンポーネントの値は未定義です。バージョン番号の形式は、 のようになります。オプションのコンポーネントは、角括弧( '['と ']')で表示されます。major.minor [.build [.revision]]定義されたコンポーネントは、すべて0より大きいか等しい の整数でなければなりません。たとえば、 が6、マイナー番号が2、ビルド番号が1、リビジョンが の場合はバージョンが「6.2.1.3」になります。

+0

将軍タブのビルド番号の形式が間違っていたことが判明しました。私はこの値を使ってビルドを修正しました:$(Date:yyyy.MM.dd)$(Rev:.r) –

関連する問題