1

最後に、ソース管理の変更に基づいてビルドするための TeamCity セットアップと、「package」ターゲットと生成された「deploy.cmd」スクリプトを使用してステージング サーバー上の IIS にパッケージ化およびデプロイするための別の MSBuild タスク セットアップを用意しました。ビルドイベント、ファイルの包含/除外などに関してはすべて完璧です...

しかし、パッケージの展開方法に問題がありました。パッケージをサーバーにデプロイするたびに、IIS 設定が吹き飛ばされます。たとえば、キャッシュの有効期限ヘッダーを設定したり、静的圧縮を有効にしたりできます。パッケージを展開した後、それらはサーバーの既定値に戻ります。

これを回避する方法を知っている人はいますか?渡すことができるパラメーターまたは無視できるルールはありますか?

4

1 に答える 1

5

あなたが直面していることは、あなたが考えていることとは違うと思います。

IIS 7 では、applicationHost.config ではなく、アプリケーションの web.config に格納されている構成を説明しているように、プロパティの値を設定します。たとえば、サイトを作成してそれらの設定を変更したところ、web.config ファイル内に次のフラグメントがドロップされました。

<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<modules runAllManagedModulesForAllRequests="true" />
    <urlCompression doStaticCompression="false" />
    <caching>
        <profiles>
            <add extension=".aspx" policy="CacheUntilChange" kernelCachePolicy="DontCache" />
        </profiles>
    </caching>
</system.webServer>

したがって、パッケージ内の web.config の同期を実行すると、変更されたプロパティを持つ web.config が上書きされます。IIS 7 でアプリケーションを必要に応じて構成するために必要なことと、ノードを取得して web.config ファイルに配置します。または、必要に応じて、公開時に web.config にのみ含める場合は、web.debug.config または web.release.config のいずれかに配置できます。

于 2010-11-10T16:47:47.383 に答える