2016-03-30 26 views
7

は、誰かが私に<clear></clear>は、それは一般的に、このように使われています<clear />なぜ<clear></clear>は、app.configの<clear />と同じではありませんか?</p> <pre><code><connectionStrings> <clear/> <add etc..... /> </connectionStrings> </code></pre> <p>問題は、私はインストーラ製品(InstallShieldの)を使用していていると:

対のapp.configで無効である理由技術的な理由を記入してくださいすることができXML変換ファイルをApp.configファイルしない、それが(サービスも開始されません)。これは、アプリケーションを壊し

<clear></clear><clear />を変更しています

今のところ私は技術的な説明だけを探していますが、もしあなたも回避策があればいいですね。

+0

<clear></clear>を置き換えるインストールルーチンにカスタムタスクを追加するには、サービスを開始エラーとは何ですか?その構文はまだ有効であり、失敗する理由はないはずです。 –

+0

サービスを試してみると、実行時にが無効です。 –

+6

ランダムな推測: ''は 'null'を解析しますが、' 'は空の文字列を解析します。彼らが同じものだと思うのは魅力的ですが、違いを知りたいときにはコンテキストがあります。 –

答えて

1

<clear></clear>を使用すると、connectionStringsセクションの解析が中断されているようです(おそらく他の場合もあります)。可能な説明については、Hans Passantのコメントを参照してください。

<clear></clear>がある場合、ConfigurationManager.ConnectionStringsは空です。あなたがサービスをクラッシュさせる理由は、このコレクションに要素が含まれているかどうかを確認したり、そのキーを持つ要素がない場合は例外をスローするConfigurationManager.ConnectionStrings["nameoftheconnection"]でアクセスしようとすることができないためです。 (私は管理者ではなく不器用とハックの両方である)

の回避策が

  1. あなたは<clear />を削除します。これにより、いくつかの参照されたアセンブリによって作成された追加の接続文字列が生成されることがあります。しかし、自分の接続文字列がこのコレクションの最後にある必要があるため、不要なエントリを削除することができます。

  2. あなたが後のステップの一つでapp.configファイルを処理し、<clear />

+0

このアドバイスが掲載されています。私は実際にオプション2で走ってしまった。 –

関連する問題

 関連する問題