2017-09-27 8 views
1

私は、Visual Studio Team Services(a.k.a. Visual Studio Online?)のビルド定義を持っています。それはアーティファクトを生成していない正直なところ、正しい名前ではありません。ソリューションファイルのメインプロジェクトは、TopShelfを使用して構築されたWindowsサービスです。おそらく、Visual StudioのビルドタスクのMSBuild引数が間違っている可能性があります。私は動作しているMVCプロジェクトのビルド定義からそれらをコピーしましたが、Windowsサービスでは動作しない可能性があります。ここでVSTSビルドでアーティファクトを生成するためにWindowsサービスソリューションを取得するにはどうすればよいですか?

彼らは以下のとおりです。

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

私はファイルのコピータスクを持っているし、プロセスの後半でアーティファクトのタスクを作成し公開するが、どうやら$(build.artifactstagingdirectory)\\は空です。

## [warning]ディレクトリ 'd:\ a \ 1 \ a'は空です。何が奇妙なアーティファクト

を構築するために追加されません、私はシンボルを公開する過程で別のタスクでは、すべてが滞りなく進むように見えます。

もう1ビット:私はホストされたビルドエージェントを使用しています。それが重要かどうかはわかりません。

これは私が提供すると考えることができるすべての関連情報です。私はここでベースオフですか?私は過去にOctopus Deployを使用しました。私はOctopackをサービスにインストールしなければならないことを知っています。ここでも同様のことをする必要がありますか?

答えて

1

これらのMSbuild引数は必要ありません。それらのほとんどはASP .NETプロジェクトに適用され、コンソールアプリケーションでは何も行いません。

これらをすべて/p:OutDir=$(Build.ArtifactStagingDirectory)に置き換えます。これはMSBuildにビルド出力をアーティファクトステージングディレクトリに置くように指示します。

+0

はい、それでした。私がフォローアップの質問をすることができれば、それをどうやって知ったのですか?私のGoogle-fuは、MSBuildの引数を調べるときには明らかに欠けていました。将来は参考にしたいと思います。 – FishBasketGordo

関連する問題