1

今日、TeamCity 7 をダウンロードしたばかりで、Azure ソリューション用に起動して実行することにしました。私は(まだ)何か凝ったことをしようとしておらず、非常に基本的なコマンド ライン ビルドから始めました。

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

これは正常にビルドされ、次のようなパッケージが生成されます*:

ここに画像の説明を入力

次に、TeamCity を同じ方法で構成しようとしました。

ここに画像の説明を入力

これは正常にビルドされ、次のようなパッケージが生成されます*:

ここに画像の説明を入力

私が理解できないのは、なぜ MVC プロジェクトのサイズに大きな違いがあるのか​​ということです。Visual Studio から直接公開すると、私の MSBuild コマンドとまったく同じ結果が得られるので、TeamCity は変わり者だと確信しています。TeamCity は壊れていないと思うので、期待される出力が得られるように適切に構成する方法を教えてもらえますか?

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

4

3 に答える 3

2

明の答えは、謎を解くのに役立ちました。zip ファイルの内容を調べたところ、MSBuild パッケージには bin フォルダーと obj フォルダーが含まれていて、TeamCity パッケージには含まれていないという違いがあることがわかりました。

ここに画像の説明を入力

この発見を行った後、MSBuild に複数のターゲットを指定し、次のようにターゲット スイッチの前に "Clean" を追加できることに気付きました。

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

予想どおり、これによりこれらのフォルダーが削除されました。どうやら、TeamCity は暗黙的に「Clean」を指定しています。謎が解けました。

于 2012-04-19T03:49:48.870 に答える
1

Windows Azure パッケージは、予想よりも大きくなる可能性があります。cssx ファイルの名前を zip に変更すると、パッケージの中身がわかります。Web アプリケーションの通常のファイルに加えて、多数の Windows Azure ファイルがあります。たとえば、診断を有効にすると、診断フォルダーが表示されます。このフォルダーには、Windows Azure 診断ランタイムで使用されるファイルが含まれています。

よろしくお願いします、

明徐。

于 2012-04-18T08:25:20.930 に答える
0

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

TeamCity は、「プロパティと環境変数」セクションから取得した多数の /p: パラメーターと、構成名やプロジェクト名などの既知のパラメーターを使用して msbuild を開始します。

于 2012-04-18T06:35:17.977 に答える