2017-05-16 5 views
0

メインWebプロジェクトを持つVS 2017ソリューションがあります。また、他に3つのWebプロジェクトがあります。これらはメインのWebプロジェクトに依存するモジュールです。しかし、メインWebプロジェクトでは、そのモジュールについては何も参照も知られていません。ソリューションが構築されると、モジュールはプライマリWebプロジェクトのbinフォルダに出力をコピーします。モジュールはメインプロジェクトの最新バージョンに依存している必要があります。したがって、最初にメインをビルドし、次にモジュールをビルドする必要があります。これはローカルですごく効果的です。サイトはモジュール作業などを読み込みます。Webプロジェクトと参照されていないモジュールを含むWebDeploy Zipを作成

現在、Octopusを使用しています。Octopackの手順はSolutionの後に実行され、すべてのファイルが取得されます。私たちはVSTSだけに移行しようとしており、モジュールファイルを標準のweb deploy zipに入れることに問題があります。

MSBbuildがソリューションで実行されると、Webプロジェクトごとにzipファイルが作成されます。メインプロジェクトのzipファイルには、モジュールのDllファイルは含まれていません(binフォルダ内にあっても)。したがって、VSTSサイトを介して展開する場合は、モジュールがありません。ビルドされたモジュールを含むソリューション用の単一のwebdeployパッケージを作成するようMSBuildにどのように指示しますか?

MSBuildのコマンドは、VSTSから基本的にボックス1アウトです:

/p:DeployOnBuild=true 
/p:WebPublishMethod=Package 
/p:PackageAsSingleFile=true 
/p:PackageLocation="C:\temp\web.zip" 

私の知る限り、他のソリューション項目がbinフォルダにその内容をコピーする前に、MSBuildのはwebdeployのzipを作って見ることができるように。 MSBuildは時代の最中に私にとって謎のビットです。

+0

これは、MSBuildが、参照されていないファイルについては、ここではhttps://passiondev.wordpress.com/2013/12/23/azure-website-deployment-additional-dependencies/を気にしないことが主なケースだと思います。だから、私はちょうどソリューションを構築する必要があると思う - 2番目のビルドに存在するファイルに条件付きのインクルードを含めるようにしてください - うまくいけばそれを理解できます – GraemeMiller

答えて

0

これは、MSBuildにプロジェクトの一部ではない余分なファイルが含まれているケースです。 pack webプロジェクトは、プロジェクトに含まれるファイルのみを公開します。

この質問のガイドに従ってメインWebプロジェクトCsprojファイルを更新しましたHow do you include additional files using VS2010 web deployment packages?。私はMSBuildを一度実行してソリューションを構築したので、モジュールのdllファイルが利用できるようになり、メインのWebプロジェクトでMSBuildを実行して、余分なインクルードファイルでWebDeployの出力を作成しました。

これが最善の方法であるかどうかわかりません。いくつかのファイルを追加するにはちょっと複雑ですが、うまく機能します。

+0

ここでソリューションを共有してくれてありがとう、猶予期間同じ問題を抱える他のコミュニティメンバーに役立つ可能性があります。 –