2011-08-23 4 views
17

このweb.configセクションをどのように変換しますか?私は私のメールの設定を以下のいる

<system.net> 
    <mailSettings> 
     <smtp from="[email protected]" deliveryMethod="SpecifiedPickupDirectory"> 
     <specifiedPickupDirectory pickupDirectoryLocation="C:/test"/> 
     <network host="localhost" userName="" password=""/> 
     </smtp> 
    </mailSettings> 
    </system.net> 

これは私の.Releaseバージョンです:

<system.net> 
    <mailSettings> 
     <smtp from="[email protected]" xdt:Transform="RemoveAttributes(deliveryMethod)"> 
     <network xdt:Transform="Replace" host="192.168.1.9" userName="" password="" /> 
     </smtp> 
    </mailSettings> 
    </system.net> 

どのように私は

<specifiedPickupDirectory pickupDirectoryLocation="C:/test"/> 

を削除するにはそれが私には表示されません。すべて解放しますか?

また、System.Diagnosticsのような他の名前空間も完全に削除したいと思います。そのための構文は何ですか?

答えて

22

これは動作するはずです:

<specifiedPickupDirectory xdt:Transform="RemoveAll" />

たSystem.Diagnosticsの場合

:むしろ、あなたのリリースバージョンから設定を削除するには、あなたが基本バージョンからそれを取ることができるだけ.DEBUGバージョンに追加しようとするよりも

<system.diagnostics xdt:Transform="RemoveAll"></system.diagnostics>

-4

@katitの場合、devとreleaseの2つの異なる設定を維持する必要があります。

あなたのWebConfigは動的なもので、あなたがQAやリリースに行くとき

/qa/yoursettings.config 


/release/yoursettings.config 

1つの以上のサンプル

<connectionStrings configSource="config\qa\connectionStrings.config"/> 

以下のようにコンフィグを取る、それに応じてweb.configファイルを切り替える必要があります。

このようにすれば、ロットクリーナーになります。 specifiedPickupDirectory要素について

+0

..あなたが複数の子タグを持っている場合を考えます。したがって、質問。私は他の変換の多くをやっているし、異なる設定をして手動で公開する方がはるかに簡単です。 – katit

+2

-1:彼はVisual Studio 2010の機能であるweb.configトランスフォームについて明示的に尋ねました。 –

+3

私はJohnに同意します。彼は設定の変換について尋ねています。あなたのコードは、その機能を利用できるようになるまでの数日間の後戻りです。 – NotMe

1

?それはもっと簡単かもしれません。しかし、それを削除したい場合は、私はあなたが<specifiedPickupDirectory xdt:Transform="Remove"/>または類似のものを使用することができると思う。

+0

なぜ人々がこの提案を落としたのか分かりませんが、私はそれをupvoteします。私の場合、デバッグは私のテストサーバーとリリースのプロダクションサーバーです。私は開発用にベースバージョンを使用しています。 – katit

+5

丁寧に回答してください(+1)。しかし、WebアプリケーションがVisual Studio内から実行されるときには、config変換は行われないことを指摘しておきます。つまり、削除しなければならない通常のweb.configにかなりの量のものを残す必要があります。変換はサイトの公開時にのみ発生します。これは、ローカルIISサーバーまたはリモートの開発サーバーのいずれかに公開してテストするだけであれば問題ありません。 – NotMe

16
<system.net> 
    <mailSettings> 
     <smtp from="[email protected]" xdt:Transform="Replace"> 
     <network xdt:Transform="Replace" host="192.168.1.9" userName="" password="" /> 
     </smtp> 
    </mailSettings> 
    </system.net> 

これは..あなたとそのタグ全体を交換、これはあなたが探しているものであると思います

これについての良いところは、あなたが不要な削除コマンドで設定を変えるあなたの汚染終わるDNTということですここで述べた答えのいくつかのように...

は、私はVS2010を変換し、私のためにweb.configファイルを公開する方法のように

+0

私はこれを試して試してみましたが、私の変換のために定期的に使用しています – Baz1nga

+0

私は自分のセクション全体を置き換える方が好きです。特に、後であなたが考慮しなかった要素を修正する必要がある場合。 –

関連する問題