web-dev-qa-db-ja.com

ファイルを生成するためのMSBuild引数

注:MVCWebアプリと他のいくつかのプロジェクトを使用したVisualStudio 2017ソリューション。これらのすべてが、Webアプリプロジェクトによって参照されているわけではありません。これまで、VSを直接使用してテストサーバーに公開してきましたが、VSTSに移動し、ビルドとリリースの定義をセットアップしましたが、まだ機能していません。

私が達成しようとしているのは、(ホストされている)VSTSビルドエージェントに、(オンプレミスの)リリースエージェントがターゲットの宛先に簡単にコピーできる公開ファイルを生成させることです。そのため、ファイルを生成してパスを記録するために、VSコマンドラインからローカルでMSビルドステップをテストしようとしています。多分私はこれを必要以上に複雑にしているのでしょうか?

これらのオプションは、単一のzipアーカイブとそれに関連するファイルを作成し、それをアーティファクトステージングディレクトリに配置します。ファイルをアーカイブに入れずに、アーティファクトのステージングディレクトリに直接公開する方法はありますか?

VisualStudioビルド

MSBuildパラメーター

/t:My_MVCWeb_Project_Name /p:DeployOnBuild=true 
/p:WebPublishMethod=FileSystem /p:PackageAsSingleFile=true 
/p:SkipInvalidConfigurations=true 
/p:PackageLocation="$(build.artifactstagingdirectory)\\"

オンプレミスエージェントを使用する私のリリースでは、「ファイルのコピー」タスクがあり、宛先はIISアプリが配置されているUNCパスです。ただし、コピーするだけです。アーカイブ。では、公開プロファイルを使用しているかのようにファイルをアプリディレクトリに直接コピーするにはどうすればよいですか?

[update2-まだZipファイルが生成されています]

MSBuild my_solution_name /t:"my_project_name" /p:DeployOnBuild=true /p:WebPublishMethod=FileSystem /p:SkipInvalidConfigurations=true /p:PackageLocation="D:\temp\local-dev-build-dir"

[更新3]これらをコマンドラインからテストとして試しましたが、何も生成されません

msbuild D:\app_dir>MSBuild my_solution_name.sln /t:"my_web_proj_name" /p:SkipInvalidConfigurations=true /p:DeployOnBuild=true /p:WebPublishMethod=FileSystem /p:publishUrl="D:\temp\app_build_dir\\" 
/p:DeployDefaultTarget=WebPublish  
4
bitshift

を削除します

/p:PackageAsSingleFile=true 

または、次のように変更します。

/p:PackageAsSingleFile=false 

これにより、ファイルが圧縮されます。

また、公開方法をパッケージに切り替える必要がある場合もあります。

/p:OutDir=$(build.artifactstagingdirectory) 
/p:WebPublishMethod=Package
5
jessehouwing

これらすべてのパラメータがどこに文書化されているかについて誰かが知っていますか?/p:SOME-PARAMETER-NAMEのように

私はそれをどこにも見つけていません。何を書くべきかを言っている人々からのフォーラムでの返信だけですが、理由はわかりません。可能なパラメータの完全なリストがあればいいでしょう。

/p:PrecompileBeforePublish
/p:DeployOnBuild
/p:WebPublishMethod
/p:PackageAsSingleFile
/p:SkipInvalidConfigurations
/p:PackageLocation
/p:DeployDefaultTarget

等...

2
Persyl

代わりにこれらのMSBuild引数を使用します。

/p:SkipInvalidConfigurations=true /p:DeployOnBuild=true /p:WebPublishMethod=FileSystem /p:publishUrl="$(build.artifactstagingdirectory)\\" /p:DeployDefaultTarget=WebPublish
1