0

まず、Web アプリケーション プロジェクトではなく、Web サイト タイプのプロジェクトを使用しています。

私たちのプロジェクトには、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>

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

<?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>

まったく機能せず、Web.config も「拡張可能」になりません。スクリーンショット:

Web.config は展開できません
アイコンは Team Foundation Server のものです

これを機能させる方法を知っている人はいますか?

4

2 に答える 2

2

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

于 2012-01-19T13:44:07.430 に答える
1

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

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

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

于 2012-01-04T09:18:31.933 に答える