2

VS2017 WCF Webサービスアプリケーション(.NET Framework 4)をビルドして公開するPowerShell v5スクリプトを作成して、Bambooで自動化できるようにしようとしています。ビルドを正しく行い、FolderProfileを使用してプロジェクトをフォルダに公開する必要があるmsbuildコマンドがあります。Visual Studio 2017 Webプロジェクトを自動化する方法

私は、プロジェクトを右クリックして公開を選択し、次にFolderProfileを選択することで、手動で成功させることができます。これにより、展開する必要があるファイルがWebサイトにプロジェクトのbin \ Release \ PublishOutputの場所に置かれます。 Powershellスクリプトでそのパブリッシュを自動化したい。

私はSayed Hashimi'sサイトの推奨を試しましたが、これは以下のようなものです(私はVS2017バージョン15.2を使用しています。もちろん、プロジェクト名とプロファイルを実際の値に置き換えてください)。

msbuild MyProject.csproj /p:DeployOnBuild=true /p:PublishProfile=<profile-name> /p:Password=<insert-password> /p:VisualStudioVersion=15.2 

しかし、これはbin\Release\PublishOutputの場所にファイルを配置しませんでした。標準ビルドのように見えました。

EDIT:

MSBuildのリストこのライン出力の私は、上記のコマンドを実行すると、

DeploymentUnpublishable: 
    Skipping unpublishable project. 

私はGitHubの上thisポストを通して見ていると、いくつかは、私はすでに行っているVS2017のv15.2にアップデートするように、溶液を引用しています。

Microsoft Visual Studio Enterprise 2017 
Version 15.2 (26430.16) Release 

いずれかのアイデアはありますか?

EDIT - レオ-MSFTは、このソリューションを提供@ソリューション

は...

msbuild myproject\myproject.vbproj /p:DeployOnBuild=true /p:PublishProfile=FolderProfile.pubxml /p:Configuration=Release 

は、これはビン\リリース\のPublishOutputにファイルを置きます。

私はこの解決策を探していましたが、/t:Publish,/p:PublishProfileRootFolder/p:VisualStudioVersion=15.2などのSOとGitHubフォーラムの他の投稿で提案されているさまざまなコマンドパラメータを追加しました。それらを削除し、上記の行を使用して、必要な出力を最終的に作成しました。

答えて

2

これは、bin \ Release \ PublishOutputの場所にファイルを保存しませんでした。それはちょうど標準ビルドのように見えた

私はこの問題をコマンドラインで再現しました。

msbuild MyProject.csproj /p:DeployOnBuild=true /p:PublishProfile="MyProfile.pubxml" 

それが構築され、正常公開、およびWebプロジェクトがどこフォルダに公開:長い時間のための研究、この問題の後、私は、コマンドラインでプロジェクトを再発行するパラメータ「/p:VisualStudioVersion=15.2」を削除しようMyProfile.pubxmlに "<publishUrl>"というオプションを設定します。

MSBuildコマンドラインでパラメータ"/ p:VisualStudioVersion"を削除して、問題がないかどうかを確認してください。

注:Visual Studio 2015で作成したプロジェクトのVisualStudioVersionでコマンドラインをテストしても問題ありません。これがVisual Studio 2017の問題であるかどうかは不明ですが、確認する必要があります。もしVisual Studio 2017の問題であれば、この問題をVisual Studioチームに送信します。

+0

これは問題を完全に解決しました。最終的なコマンドラインは、msbuild myproject \ myproject.vbproj/p:DeployOnBuild = true /p:PublishProfile=FolderProfile.pubxml/p:Configuration = Releaseとして終了しました。これにより、ファイルはbin \ release \ PublishOutputに置かれます。ありがとう – EiEiGuy

関連する問題