2012-01-04 20 views
0

まず、Webアプリケーションプロジェクトを使用していないため、Webサイトタイプのプロジェクトを使用しています。Web.config変換が動作しない

私たちのプロジェクトでは、Dev(開発用)、Demo(テスト用)、Live(最終リリース)の3つのビルド構成があります。ある

我々は2つのファイルを持っている(しかし、最終的には、それは4になるでしょう):

  • のWeb.config
  • Web.Dev.config

最初から抜粋:

<?xml version="1.0"?> 
<configuration> 
    <connectionStrings> 
    <add name="SomeConnectionString" connectionString="oldConnStr" providerName="System.Data.SqlClient"/> 
    </connectionStrings> 
    <system.web> 
    <compilation targetFramework="4.0" debug="false"> 
     <assemblies> 
     <add assembly="System.Data.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> 
     <add assembly="System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/> 
     </assemblies> 
    </compilation> 
    </system.web> 
</configuration> 

そして、これは変換です:

誰がどのように知ってい

Web.config isn't expandable
アイコンがチーム基礎サーバー

からです:

<?xml version="1.0"?> 
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform"> 
    <connectionStrings> 
    <add name="SomeConnectionString" connectionString="newConnString" providerName="System.Data.SqlClient" xdt:Transform="Replace" xdt:Locator="Match(name)" /> 
    </connectionStrings> 
    <system.web> 
    <compilation debug="true" xdt:Transform="SetAttributes(debug)" /> 
    </system.web> 
</configuration> 

全然doesn'workない、どちらのWeb.configは、 '拡張' になるん、スクリーンショットこの作品を作る?

+0

何が起こると思われますか?問題を解決しようとしましたか? – Brissles

+0

私は、既定のビルド構成( 'Web.config'sで' Debug'と 'Release')を使って公開しようとしました。 – Aidiakapi

答えて

2

私はこれがWebサイトプロジェクトでは実行できないことを知りました。それには.csprojファイルが必要で、Webサイトにはそのファイルがありません。

1

web.configの変換に合わせて設定インスタンスが必要です。たとえば、Web.Dev.configをコンパイルして変換するには(Webデプロイメント中など)、 'Dev'設定でプロジェクトをコンパイルする必要があります。

Dev設定が定義されていない場合(デフォルトでは、新しいVSプロジェクトを開始するときにDebugおよびRelease設定が表示されます)、使用可能なすべての設定がリストアップされたドロップダウンボックスをクリックできます。これは通常、Visual Studioで緑色の「再生」(デバッグ開始)ボタンの横に表示されます。 「Configuration Manager」オプションを選択し、選択したプロジェクトに対して、構成ドロップダウンを選択して選択します。 Devという設定を作成して(必要に応じて既存の設定から設定をコピーすることもできます)。これが完了したら、プロジェクトツリーを更新してください。

VSビルドの標準(Ctrl + Shift + B)ビルドでは、トラストが適用されないことにも注意してください。これらは通常、アプリケーションがWeb Deployまたは何らかの種類のデプロイメントツールを使用してリリースされたときに適用されます。適用される変換は、選択したビルド構成によって異なります。私。 'Dev'設定でデプロイすると、web.dev.configの変換が適用されます。

+0

私が投稿したのは、「Dev」、「Demo」、「Live」の3つのビルド構成があることです。特別なビルドで起こっている変換については(これには公開も含まれていると仮定します)、私は今試してみましょう:) – Aidiakapi

+0

対応するビルド構成で公開しているときに変換は行われません。 – Aidiakapi

+0

興味深い...私がこれを持っていた唯一の経験は、特にTFSビルドにあります。新しいweb.dev.configがTFSブランチにチェックインされていますか? –

関連する問題