2016-10-18 6 views
2

この質問の作成を開始したとき、問題はVSTSビルドが成功した後でリリース用のWebアプリケーションプロジェクトに関するファイルを参照できなかったことでした。ソリューション内の特定の他のプロジェクトのファイルのみが存在しました。しかし、私はちょうど助けてきたthis questionに出くわしました。VSTSビルドでWebアプリケーションのすべてのファイルが削除されない

コンテンツの設定を変更した後、私のWebアプリケーションプロジェクトのコンパイル済み.dllファイルが表示されるようになりました。つまり、そのプロジェクトのBinフォルダの内容です。しかし、ビルドされたWebアプリケーションをビュー、スクリプト、CSSなどにコピーする必要があるファイルはどこにも表示されません。

VSTSのビルドとリリース機能性は非常に混乱しています。今までは、Visual StudioでWebアプリケーションプロジェクトを右クリックしてPublishedを選択し、ファイルシステムパブリッシュメソッドを使用しました。簡単です。アプリケーションのビルドとデプロイを自動化したいので、何倍も複雑です!

VSTSでビルドする方法を教えてください。リリース定義のファイルコピータスクを使用してファイルをWebサーバーにコピーできます(サーバーはisn '私はローカルにホストされたエージェントを使用していますか?)

+0

を、あなたのドロップフォルダに「_PublishedWebsites」フォルダが表示されます。そのフォルダの中に、Webサーバーに展開する必要があるすべてのファイルを含むアプリケーションフォルダが表示されます。あなたはそれを見ていますか? –

+0

私は実際にJimiSwedenが投稿した2番目の答えのアドバイスに従っていました。私はMSDuildスイッチを使用しませんでした。ポスターがWebDeployパッケージを作成していると言っていたのに対し、ファイルをWebサーバーに直接コピーしたいからです。どのスイッチが "_PublishedWebsites"フォルダになるか知っていますか? –

+1

心配しないで、私はコメントの下でそれを見つけました。それは/p:outdir=$(build.artifactstagingdirectory)スイッチです。今すぐ試してみてください。 –

答えて

0

ベースをVisual StudioからWebアプリケーションを公開しています。通常、このアクションはProject/Properties/PublishProfilesフォルダの下に公開プロファイルを生成します。 Webアプリケーションを公開するために使用した設定は、プロファイルに保存されます。したがって、このパブリッシュプロファイルがソース管理にチェックインされていることを確認するだけです。そして、TFSにMSBuildの引数以下を追加し、構築:あなたが他の質問からそのMSBuildのフラグを使用している場合

/p:DeployOnBuild=true /p:PublishProfile="publishprofile.pubxml" 
+0

私はこれを試して、それがうまくいった(私の公開されたWebアプリケーションは、他の問題のためにまだしなかったが)。 –

2

vNextビルドでは、ファイルのコピーまたはビルド成果物の公開手順を使用してビルド成果物をパブリッシュします。エージェントにのローカルパスを使用して、エージェントに宛てたものがにコピーされてから宛先にプッシュされるようにしてください。たとえば:

  1. は/ Pを追加します。DeployOnBuild =真 /P:OUTDIR = "$(build.artifactstagingdirectory)\" Visual Studioでの引数は、ステップを構築し、Publish Build Artifacts
  2. 変更 "公開へのパスを" $(build.artifactstagingdirectory)\_PublishedWebsites\ProjectNameにタスク:

詳細この質問にビルドステップのスクリーンショットを確認してください。あなたのコメントにHow do I get the the expected output from a TFS 2015 build (to match my XAML build)?

+1

ご協力いただきありがとうございます。私は基本的には、あなたの方法がより効率的であることがわかりますが、リリース定義の[ファイルコピー]タスクの[ソース]パラメータをPublishedWebsites \ ProjectNameフォルダを指すように更新することで、同じことが達成できたと思います。 私はVSTSでBuild/Releaseを完全に突っついています。 VSでは、アプリケーションプロジェクトを右クリックして[公開]を選択すると、必要なファイルがサーバー上の共有に出力されます。 VSTSのビルド機能は、類似しているが異なるものを出力しているようです。たとえば、web.configの複数のバージョンが含まれ、PrecompiledApp.configはありません。 –

+0

@PhilipStratford Visual Studioからパブリッシュするときに選択するパブリッシュ方法はどれですか? –

+0

@ Eddie-MSFT私はファイルシステムの方法を使用し、私のWebサーバー上の共有に宛先を設定します。 –

関連する問題