2016-08-23 7 views
0

私はC#Webプロジェクトを持っています。私が選択した "アクティブなソリューション構成"のために構成マネージャーを開いたVisual Studio 2013で間違った設定ファイルが使用される

新しいウィンドウで私は名前(Dev)をタイプし、設定をコピーしなかった。私は "Create new project configurations"をチェックしました。

私はWeb.configを右クリックし、 "Add Config Transform"を選択しました。 Web.Dev.configは、期待どおりにweb.configの下にインデントされて表示されました。

私のweb.configファイルが誤ったデータベース値が含まれています

<connectionStrings> 
    <add name="PdxContext" connectionString="Data Source=badServer; Initial Catalog=badDB; Integrated Security=true; MultipleActiveResultSets=True" providerName="System.Data.SqlClient" /> 
</connectionStrings> 

私Web.Dev.configは、一部には、有効なDBの値が含まれています

<connectionStrings> 
    <add name="PdxContext" connectionString="Data Source=.\sql2012; Initial Catalog=test; Integrated Security=True" xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/> 
</connectionStrings> 

を...しかし、私は選択したときデベロッパーの設定とヒットが実行されると、サイトはweb.dev.configではなくweb.configファイルを使用して実行されます(ホスト "badServer"の "badDB"という名前の存在しないデータベースに接続しようとします)。

web.dev.configを右クリックし、「Preview Transform」を選択すると、変換されたWeb.configがweb.dev.configのconnectionStrings値を使用することが正しく示されます。

ああ、Active Solutionの構成マネージャーでは、「Dev」の構成設定列に「Dev」があります。

どのような考えですか?

+0

私はまた、組み込みのデバッグ構成とまったく同じ問題があります。それはWeb.Debug.configの値を無視します –

+0

私はたぶんそれが展開の下でのみ動作すると思う。しかし、複数の開発者が同じプロジェクトで作業していても、異なる構成で一緒に作業する方法はありますか?私は彼らがweb.configの独自のコピーを持っていて、web.configを変更したSVN Updateを実行するたびにweb.configのコピーを上書きする必要があると思いますか?それは非常に不器用なようです。 –

答えて

0

ソリューションは、ここで見つけることができます: https://stackoverflow.com/a/3994081

あなたは、Visual Studio 2013を使用している場合も、VS以降のバージョンでは、このに苦しんで、誰のために」、その投稿のマッティ価格の応答を参照してください、私は変更しなければなりませんでした< Target Name = "CopyWebTemplateConfig" BeforeTargets = "Build"> To <対象名= "CopyWebTemplateConfig" BeforeTargets = "PrepareForBuild">それ以降はすべて機能しました。

関連する問題