Преобразование веб-конфигурации на microsoft.identityModel - атрибут http://schemas.microsoft.com/XML-Document-Transform' не объявлен - PullRequest
17 голосов
/ 15 декабря 2011

У меня есть Web.Release.config, который успешно преобразует строку подключения.

Когда я добавляю раздел microsoft.identityModel, я получаю предупреждение о том, что

The 'Атрибут http://schemas.microsoft.com/XML-Document-Transform' не объявлен

И преобразование не работает в этом разделе.

Чего мне не хватает, чтобы преобразование заработало?

Завершите Web.Release.config здесь

<?xml version="1.0"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">

  <connectionStrings>    

    <add name="MYNAME"
         connectionString="metadata=res://*/Models.MYCOMPANY-Sales-Demo.csdl|res://*/Models.MYCOMPANY-Sales-Demo.ssdl|res://*/Models.MYCOMPANY-Sales-Demo.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=.;initial catalog=MYCOMPANYDemo;UID=MYCOMPANYDBUser;Password=********;multipleactiveresultsets=True;App=EntityFramework&quot;"         
         xdt:Transform="SetAttributes" xdt:Locator="Match(name)" />
  </connectionStrings>

  <system.web>
    <compilation xdt:Transform="RemoveAttributes(debug)" />
  </system.web>


  <microsoft.identityModel> 
    <service>
      <audienceUris>
        <add value="http://MYCOMPANY-sales-demo.cloudapp.net/" xdt:Transform="Replace"/>
      </audienceUris>
      <federatedAuthentication>
        <wsFederation realm="http://MYCOMPANY-sales-demo.cloudapp.net/" xdt:Transform="SetAttributes(realm)" />
      </federatedAuthentication>       
    </service>
  </microsoft.identityModel>

</configuration>

Ответы [ 2 ]

5 голосов
/ 14 августа 2013

Похоже, что теперь он работает с Visual Studio 2012 (v4.5.50709). Я все еще получаю предупреждение «атрибут не объявлен» в редакторе, но директива xdt: Transform = «Replace» работает для меня.

5 голосов
/ 24 апреля 2012

Я тоже столкнулся с этим, но заставил его работать. То, что я сделал, было «Удалить все» и «Вставить» вместо замены / соответствия:

<audienceUris>
    <add xdt:Transform="RemoveAll" />
    <add value="http://example.com/" xdt:Transform="Insert" />
</audienceUris>

Когда я делаю это таким образом, я получаю желаемый файл конфигурации преобразования и вывода.

...