2012-04-18 7 views
1

TeamCity 7を今すぐダウンロードし、Azureソリューションのために稼働させることにしました。私は(まだ)ファンシー何かをしようとしていると非常に基本的なコマンドラインビルドを開始していないです:TeamCityは、どのようなパラメータをMSBuildに渡してカバーしていますか?

msbuild /t:Publish /p:Configuration=Release;TargetProfile=Production;PublishDir=S:\HoursTracker\Deployments 

これが正常に構築し、このようになりますパッケージを生成します*:

enter image description here

enter image description here

このB:私は、同じ方法でチームシティーを設定しようとしましたuildsに成功し、このようになりますパッケージを生成します*:

enter image description here

MVCプロジェクトのサイズのような巨大な矛盾があるなぜ私が理解していないことです。 Visual Studioから直接公開すると、私のMSBuildコマンドとまったく同じ結果になりますので、TeamCityが奇妙な人であると確信しています。私はTeamCityが壊れていないと仮定しているので、誰かが適切な出力を得るように正しく構成する方法を教えてもらえますか?

*パッケージファイルの名前を.zipに変更して、この投稿の詳細を表示できるようにしました。

+0

Learn Process Monitorを使用すると、MSBuildに渡されるパラメータは簡単にわかります。http://technet.microsoft.com/en-us/sysinternals/bb896645 –

+0

@LexLiヒントをお寄せいただきありがとうございます。ショット。 –

答えて

1

明の答えは、私が謎を解決するのを助けました。 zipファイルの内容を調べたところ、私のMSBuildパッケージにbinとobjフォルダが含まれていて、TeamCityパッケージには含まれていないということが分かった。

enter image description here

はこの発見をした後、私はMSBuildのに複数のターゲットを指定することができることを実現し、そのように切り替えて、私の目標に「クリーン」先頭に追加:予想通り

msbuild /t:Clean;Publish /p:Configuration=Release;TargetProfile=Production;PublishDir=S:\HoursTracker\Deployments 

、これは、これらのフォルダを削除しました。だから明らかに、TeamCityは暗黙のうちに「クリーン」を指定しています。謎解き。

0

msbuildランナーにx64を指定したのはなぜですか?ツールのバージョンも選択してみてください。/p:プラットフォームパラメータを指定していません。タスクを公開するには再構築が必要ですか?

TeamCityは、「プロパティと環境変数」セクションから取得したパラメータ/ p:パラメータと、構成名やプロジェクト名などのよく知られたパラメータをmsbuildで起動します。

+0

x64とx86の両方を試しました。どちらも同じ結果を示します。また、MSBuildバージョンとは異なる.NETバージョンをターゲットに設定することがポイントだと私は理解していたので、ツールバージョンを指定しなかった。いずれにしても、私はその設定に対して4.0を指定しようとしましたが、明らかな効果はありませんでした。 –

1

Windows Azureパッケージは、予想よりも大きい場合があります。 cssxファイルの名前をzipに変更すると、パッケージ内の内容を知ることができます。 Webアプリケーションの通常のファイルに加えて、Windows Azureファイルがたくさんあります。たとえば、診断を有効にすると診断フォルダが表示され、Windows Azure診断ランタイムで使用されるファイルが見つかります。

よろしく、

明徐。

+0

ありがとう、明。私はそれらもジップであったことに気付かなかった。私はそれらを点検し、何が起こっているか見ることを試みる。もし私が何かを考え出すなら、私はさらなる情報をフォローアップします。 –

+0

私は正しい方向に向いてくれてありがとう。 +1 –

関連する問題