0

vs 2010 の組み込み xdt を使用してサイトを公開しています。web.config の他の要素が変換されているため、変換が機能していることはわかっています。

問題を引き起こしている変換ステートメントは次のとおりです。

<param name="ssrsServiceUrl" value="thevalue" xdt:Locator="XPath   (/configuration/unity/container/register[@name='ReportingRegistration']/constructor/param[@name='ssrsServiceUrl'])" xdt:Transform="SetAttributes(value)"/>

ここに設定ファイルがあります(関連部分のみ)

<?xml version="1.0"?>
<configuration>
 <unity xmlns="http://schemas.microsoft.com/practices/2010/unity">
  <container>
   <register name="ReportingRegistration" type="IMyType" mapTo="MyType">
    <lifetime type="singleton"/>
    <constructor>
     <param name="ssrsServiceUrl" value="foovalue"/>
    </constructor>
   </register>
  </container>
 </unity>
</configuration>

省略した web.config には複数のパラメーターがあります。

4

1 に答える 1

0

結局、問題は unity ブロックで定義された名前空間でした。私はそれを取り出し、それで問題は解決しました。なぜそれがそうするのか正確にはわかりません。これは、XPath 自体ではなく、.net での XPath クエリ パーサーの実装に対する制限だと思います。

于 2012-09-11T21:33:11.707 に答える