2016-04-14 20 views
13

VSTS独自のフィードをビルドして公開するための単純なクラスライブラリを設定すると、NuGetパッケージを実行するとこのエラーが表示されます。VSTSビルド - BUILD_BUILDNUMBERでバージョン番号データが見つかりません

は、私がチェックさ「の使用はバージョンパッケージにビルド番号」オプションが用意されていBUILD_BUILDNUMBER

にバージョン番号のデータが見つかりませんでした。ちょうど働くことを期待されたVSTS。

+0

nuspecファイルを投稿できますか? – charisk

答えて

7

これは、ビルド番号が "Nuget Packager"の正規表現と一致しないためです。以下は、nuget packagerタスクがビルド番号を見つけるために使用した正規表現です。これに基づいてビルド番号の形式を設定することができます。一般的には、1.2.3や1.2.3.4のようなフォーマットが有効です。

Write-Verbose "Autoversion: Getting version number from build" 
##Get Version from Build 

# Regular expression pattern to find the version in the build number 
# and then apply it to the assemblies 
$VersionRegex = "\d+\.\d+\.\d+(?:\.\d+)?" 
+0

便利な内部、ありがとう。 –

15

「使用はバージョンパッケージにビルド番号」ためのヒントは述べて:

は、パッケージのバージョンにビルド番号を使用します。一般の下では、ビルドフォーマットを「$(BuildDefinitionName)_$(Year:yyyy).$(Month).$(DayOfMonth)$(Rev:.r)」に設定します。

これに続いて、私はこの問題を(そして新しいものに)渡しました。

デフォルト値:

[Default value]

正しい値:

[Correct Value]

+0

パスが長すぎると何か新しい問題はありましたか?どのように修正しましたか? –

+1

私は恐れていません。それは私のケースではnuspecと関係がありました... –

+0

私は最小を考え出しました.Globパターンを使ってNode.jsプロジェクト用の '.nuspec'ファイルを探し出していました。そして、' node_modules'フォルダは、ウィンドウの好みのために。 '.nuspec'へのパスをハードコードし、それを修正しました。ご回答有難うございます。次の問題に私をつかまえました! –

0

私は私の.nuspecファイルで変数を持っていた:

<tags>Build#$build$</tags> 

ことパッケージビルドで誤ってパラメータ化されましたステップ。ビルドエディタでパッケージステップを開いた状態で、「追加ビルドプロパティ」に追加された「アドバンスト」セクションを拡張しました。

build=$(Build.BuildNumber)