1

誰かが以下の私の仮定を確認または否定したり、代替案を提供したりできますか?

私の目標

ASP.NET MVC 4 アプリケーションをプリコンパイルしてマージできるようにしたいと考えています (ここここに記載されているように)。

症状

Visual Studio 2012 に ASP.NET MVC 4 プロジェクトがあります。変換Web.configで削除されるさまざまなエントリが含まれています。Web.Release.config削除されたエントリの 1 つは要素全体です。configSectionsこれらのエントリは運用サーバーの に保持されているためMachine.configです。

ただし、リリース発行のためにプロジェクトをプリコンパイルおよびマージするように構成すると、次のエラーが発生します。

Unrecognized configuration section [our custom section name]

私の仮定

私が想定しているのは、本番サーバーに公開する前にすべてをローカルでプリコンパイルしていることです (これは完全に理にかなっています) が、そのプリコンパイル プロセスのその部分は.config、プロジェクトからWeb.configローカルまでのチェーン全体を解決して検証することですMachine.config(これは、実際にはあまり意味がありません)。そして、私のローカルMachine.configは宣言していないためconfigSections(または本番サーバーに依存している他の設定はいずれもMachine.config)、解決されたWeb.configものは検証されません。

また、Web.config検証が行われないため、サイトをプリコンパイルできず、実稼働環境に何も公開されません。

こする

それが実際に起こっていることである場合、私が考えることができる唯一の解決策は(私が見つけることができなかったいくつかの潜在的な構成オプションを除いて)プリコンパイルすることはできません.Machine.config彼らのマシン上の本番サーバーのローカルコピー。そして、それは単に合理的ではありません。なぜなら、これらの共通設定を 1 つの場所で宣言するという目的全体が無効になるからです。

4

0 に答える 0