2012-02-22 6 views
2

ここで間違っていることを誰かが指摘できますか?VS2010のweb.debug.configとweb.configの置き換えを理解できません

私は、リリースとデバッグビルド用のweb.configファイルの2つのバージョンでコンパイルするためにASP.NET Webアプリケーションプロジェクトを設定しようとしています。だから、単純化のために、ここに私のweb.configファイルです:

<?xml version="1.0"?> 
<configuration> 
    <connectionStrings> 
    <add name="WhyMicrosoftSucksSoMuch" connectionString="" providerName="System.Data.SqlClient" /> 
    </connectionStrings> 
</configuration> 

そして私はweb.debug.configで次の操作を行います。私はデバッグ構成結果のweb.configファイルの下でそれを公開する場合

<?xml version="1.0"?> 
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform"> 
    <connectionStrings> 
     <add name="WhyMicrosoftSucksSoMuch" 
      connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename='C:\FilePath\Database1.mdf';User Instance=true" 
      providerName="System.Data.SqlClient" 
      xdt:Transform="SetAttributes" xdt:Locator="Match(connectionString)" /> 
    </connectionStrings> 
</configuration> 

VS2010からプロジェクトを実行しようとすると、ロジックがデータベースにアクセスしようとするとエラーが発生します。

ConnectionStringプロパティが初期化されていません。

ここでのトリックは何ですか?

PS。そして、私にthis documentを指さないでください。私はそれを数回試してみましたが、余計な情報から頭痛を覚えました。私はMSが何を知っていないと思います短いです。

答えて

4

デバッグモードで実行すると、変換は適用されません。

公開中のみ適用されます。あなたは、メインweb.configファイルでデバッグ接続文字列を入れて、

もweb.release.configに本番接続文字列を追加することができ、あなたはおそらく使用したいと思うでしょう

xdt:Transform="Replace" 
関連する問題