2017-02-24 8 views
1

私は非常に簡単なシナリオを持っています。私はWebDeploy用のPublishProfileを持つASP.NET Coreプロジェクト(.NET Framework)を持っています。私のサービスを参照する.NET Core Class Libraryプロジェクト(.NET Framework)もあります。これは私のテストプロジェクトです。私がこのソリューションをTeamCityでビルドすると、Visual Studioビルドのステップに、webdeploy用のいくつかの追加パラメータ、/ p:DeployOnBuild = trueが追加されています。しかし、問題はDeployOnBuildはグローバルな設定なので、すべての "サービス"プロジェクトに適用されます。なぜ私のテストプロジェクトがパブリッシュ可能なものとして扱われているのかわからないので、テストプロジェクトも展開しようとしますが、テストプロジェクトでパブリッシュプロファイルを見つけることができないというエラーが発生します。 .slnまたは.xprojで、これが公開可能なプロジェクトではないことを私はどのように伝えることができますか。公開プロセスの一部であることは望ましくありません。私はサービスプロジェクトを無視するためのいくつかの回避策を見つけましたが、これは非常に単純なシナリオなので、私はそれを達成するためにハックを使用すべきではないと考えています。TeamCityでASP.NETコアプロジェクトを展開し、テストを無視する - WebDeploy

答えて

1

デプロイメントステップで.slnをターゲットにすると、.slnファイル内にデプロイ可能なプロジェクタをデプロイするように指示されていると思います。 代わりにプロジェクトファイルをターゲットに設定しましたか?

私は、Visual Studioのビルドステップを使用していないが、それはMSBuildので動作します: see screenshot

+0

はい、私はそれを試してみました。このプロジェクトでは、いくつかのファイルをコピーするポストビルドのステップがあり、パスが見つからないためこれらのファイルをコピーできないというエラーが発生するため、このプロジェクトを単独でビルドできないという問題があります。別にビルドすると、$(SolutionDir)がこのプロジェクトに正しく設定されていないようです。このポストビルドイベントは、参照されているナゲットパッケージの一部です。 「配備可能な」プロジェクトがどのように認識されているか知っていますか? – MistyK

+0

自分で試したことはありませんが、test projet以外の必要な依存関係を持つwebappだけを構築するビルド構成 'deployment'を作成した場合、TeamCityで'/p:Configuration = deployment'スイッチを使用しますか? – dbraillon

+0

ありがとう。とにかくそれは回避したい回避策の1つです。私はこれより簡単な方法があるべきだと思った。 – MistyK

関連する問題