問題タブ [web-config-transform]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
web-config - 任意の名前の設定ファイルの CodeAssassin.ConfigTransform
CodeAssassin.ConfigTransform
TransformやVS ビルドへの、web.*.config
またはVS ビルド時のNuGet パッケージ。app.*.config
web.*.config.transformed
app.*.config.transformed
ただし、フォームの構成ファイルがある場合はどうなります{arbitrary-name}.config
か?
たとえば、MyAssembly.dll.config
その変換ルールセットMyAssembly.dll.debug.config
&MyAssembly.dll.release.config
CodeAssassin.ConfigTransform
これらのファイル パターンでは機能しないようです。
asp.net - Web.Config 変換を使用して複数の項目を挿入する
多くの WCF サービスを参照する C# プロジェクトがあります。ローカル テストでは、アイデンティティ タグの内容を置き換えて、localhost で実行されているものをすべて受け入れるようにしたいと考えています。
次の変換は機能しますが、最初に一致した場所に dns 要素を挿入するだけです。したがって、5 つのエンドポイントを参照した場合、1 つには dns タグがあり、他のすべてには空の ID 要素があります。
最初の要素だけでなく、一致するすべての要素を変更するにはどうすればよいですか?
settings - AppHarborWeb.config変換エラー
次のように設定ファイルの項目を上書きするweb.configファイルがあります。
そして、これらの設定を変換するweb.release.configがあります。
リリース構成でソリューションを公開すると、正しく機能します(つまり、URLのみがweb.configと異なるようになります)
しかし、Appharborがアプリケーションを公開すると、使用しているページからランタイムエラーが発生します@Settings.Default.FacebookUrlAuth
次の詳細で:
認識されない要素'設定'。(D:\ website \ 45 \ 31968 \ 17022 \ 0x0001_PublishedWebsites \ MVC.Web \ web.config行73)
すべての変換ルールにコメントすると、AppHarborはデフォルトのweb.configからこれらのプロパティを取得し、すべてが正常に機能します。AppHarbor側の問題ですか?
web-config - Visual Studio 2012 で ASP.NET MVC 4 プロジェクトをプリコンパイルするとき、構成チェーン全体をローカルで解決しようとしますか?
誰かが以下の私の仮定を確認または否定したり、代替案を提供したりできますか?
私の目標
ASP.NET MVC 4 アプリケーションをプリコンパイルしてマージできるようにしたいと考えています (こことここに記載されているように)。
症状
Visual Studio 2012 に ASP.NET MVC 4 プロジェクトがあります。変換Web.config
で削除されるさまざまなエントリが含まれています。Web.Release.config
削除されたエントリの 1 つは要素全体です。configSections
これらのエントリは運用サーバーの に保持されているためMachine.config
です。
ただし、リリース発行のためにプロジェクトをプリコンパイルおよびマージするように構成すると、次のエラーが発生します。
私の仮定
私が想定しているのは、本番サーバーに公開する前にすべてをローカルでプリコンパイルしていることです (これは完全に理にかなっています) が、そのプリコンパイル プロセスのその部分は.config
、プロジェクトからWeb.config
ローカルまでのチェーン全体を解決して検証することですMachine.config
(これは、実際にはあまり意味がありません)。そして、私のローカルMachine.config
は宣言していないためconfigSections
(または本番サーバーに依存している他の設定はいずれもMachine.config
)、解決されたWeb.config
ものは検証されません。
また、Web.config
検証が行われないため、サイトをプリコンパイルできず、実稼働環境に何も公開されません。
こする
それが実際に起こっていることである場合、私が考えることができる唯一の解決策は(私が見つけることができなかったいくつかの潜在的な構成オプションを除いて)プリコンパイルすることはできません.Machine.config
彼らのマシン上の本番サーバーのローカルコピー。そして、それは単に合理的ではありません。なぜなら、これらの共通設定を 1 つの場所で宣言するという目的全体が無効になるからです。
xpath - 親ノード属性に基づいてノードを選択する Web 構成変換条件/一致
私はこのような変換を持っています
したがって、親ノードに指定された値の属性がある場合にのみ、 xdt:Locator が f ノードを選択するようにします。
xdt:Locator は、次の xpath 式に変換されます。
これは無効です。
問題は、親ノードの属性に基づいて f ノードを選択するために、Condition に何を入れることができるか、つまり XPath 角括弧です。
visual-studio-2010 - デバッグ中に変換された web.config を表示するにはどうすればよいですか (SlowCheetah)
をインストールしましたSlowCheetah plugin in VS 2010
。Preview Transformをオンにするweb.debug.config
と、正しく表示されます。ただし、デバッグ中に変換が行われているとは思いません。
web.config
デバッグ中に変換されたものを表示するにはどうすればよいですか?
既に質問されている場合は申し訳ありませんが、ファイルを具体的に表示するための手順が見つかりませんでした。
asp.net - Web.config Build vs Release トランスフォームが機能しない
Entity Framework 経由でリモート データベースに接続する ASP.NET Web アプリケーション プロジェクトがあります。デバッグ中 (例: ローカル コンピューターでプロジェクトを実行中)、データベースへの IP アドレスは、リリース中 (例: プロジェクトを Web サーバーにアップロードしてブラウザーから実行した後) とは異なります。これまで、私は常に Web.config ファイルのデータベース接続文字列を手動で変更して、2 つを切り替えていました (基本的には、接続文字列を 1 つは 'Debug'、もう 1 つは 'Release' という名前で、デプロイするたびに名前を交換する必要がありました)。 )。
ここで、変更された接続文字列を Web.Release.config バージョンに配置するWeb.config Transformation Syntaxを介して、これを自動的に実行できるようにする必要があることに気付きました。その後、リリース構成で DLL をビルドするときにそれを使用する必要があります。 .
しかし、それは私にはうまくいかないようです...
これは、通常の Web.config ファイル (ローカルで使用するためのデバッグ接続文字列を保持する) の関連部分です。
以下は Web.Release.config ファイルです。例によれば、DLL がリリース モードの場合、'DatabaseEntities' 接続文字列 "A" を "B" に置き換える必要があります。
(明らかに、「A」と「B」は実際の接続文字列の単なるプレースホルダーです)
アプリケーションをデバッグすると (たとえば、F5 キーを押すだけ)、既定の Web.config が使用され、データベースにアクセスできます。次に、構成マネージャーを使用してビルド構成をリリースに変更します。ソリューション内のすべてのプロジェクトは、リリース構成に設定されています。次に、ソリューションをビルドします (ビルドのみ、または完全なリビルド (例: クリーン、リビルド) を介して)。新しく構築した DLL と Web.config および Web.Release.config ファイルを Web サーバーにアップロードします。データベースにアクセスしようとすると、デバッグ IP アドレスを介してデータベースにアクセスしようとします。したがって、それを見つけることができません...
Web.Release.config ファイルが完全に無視されているか、少なくとも接続文字列が置き換えられていないようです。
私は何を間違っていますか?変換構文が間違っていますか? リリース モードでアプリケーションを正しくビルドしていませんか?
web-config - msbuild を使用して appSettings.config ファイルの変換が適用されない
appSettings と Connectionstrings を別々のファイルに持つプロジェクトを継承しました。SlowCheetah を使用して、各環境の各ファイルの変換を生成しました。
構造は次のようになります
appSettings.config
appSettings.DEV.config
appSettings.UAT.config
appSettings.RELEASE.config
connectionStrings.config
connectionStrings.DEV.config
connectionStrings.UAT.config
connectionStrings.RELEASE.config
Visual Studio 2010 のパブリッシュ機能を使用してローカルで変換をテストしました。すべて問題ありません。ただし、TFS でビルド定義を作成し、msbuild を介して展開を自動化すると、変換は適用されません。たとえば、リリース appsettings ファイルには、ベース ファイルの内容が含まれています。変換は適用されません。他の誰かがこれを試したのか、同じ問題を経験したのかと思っていました. 御時間ありがとうございます。
.net - Web.config Transform の子ノードの値に基づいてノードを選択する
Web 構成に次の XML があり、web.config 変換を使用して削除する属性を選択したいのですが、子要素の 1 つの値に基づいて削除する要素を選択したいと考えています。
私のweb.configは次のようなものです:
子要素に基づいて削除する 2 番目のエージェント要素を選択しようとしました<param desc="database">master</param>
が、成功しませんでした。