PreInfo:.net core web api(vs2015)と通常のプロジェクトが混在しています。
これを機能させて検索するためにほぼ2日間を費やし、考えられるすべてを試しましたが、TFSのビルドとリリースをオンラインで一緒にプレイすることはできません。
ビルド(アーティファクトの公開ステップ)には、「Directory 'D:\ a\1\a'は空です。ビルドアーティファクト 'drop'には何も追加されません。」
しかし、「ドットネットを実行する」ステップは言う
「D:\ a\1\s\Operator\MobileService\root\MobileService\src\AMP.Operator.MobileService\bin\release\net452\win7-x64\publishに公開」
... soそれはどこかになければなりませんリリースはそれを拾うことができますが、私が何をしようとしても拾うことができません。
そして、$(System.DefaultWorkingDirectory)/ MobileService-Devを使用して、ビルドの$(build.artifactstagingdirectory)のすべてのコンボを試したことに注意してください運なしに公開するが、これはビルドの公開フォルダを指しているはずです
誰かが解決策を教えてくれることを願っています。この作品を作るのがどれだけ難しいか、私には理解できません。
ビルド定義内で、_Copy Files
_ステップを実行する前に、ビルドアーティファクトステージングディレクトリにmsbuild
結果からビルドアーティファクトをコピーする_Publish Artifact
_ステップを追加することをお勧めします。
$(Build.SourcesDirectory)
**\bin\$(BuildConfiguration)\**
$(Build.ArtifactStagingDirectory)
$(BuildConfiguration)
変数は定義に対してカスタムであり、おそらくDebug
またはRelease
であると想定しています。 Run dotnetステップが何をするのか正確にはわかりませんが、セットアップしたこのビルド定義はビルドアーティファクトを正しく公開しました。実行中のビルドアーティファクトの発行ステップは、有効なコントロールオプションがEnabled
のみであることを除いて、あなたと同じステップを持っています。
また、TFS 2015 update 2を実行しています。
Dotnet publishコマンドの出力引数(--output/-o)を指定する必要があります。引数:
Publish -c $(BuildConfiguration) -o $(Build.ArtifactStagingDirectory)
ところで:あなたは「ドットネットを実行」ステップが「D:\ a\1\s ....に公開」と言った、ファイルはD:\ a\1\sにあり、D:\ a\1にはファイルがない\ a(1つはsで、もう1つはaです)。