Преобразование веб-конфигурации на microsoft.identityModel - атрибут 'http://schemas.microsoft.com/XML-Document-Transform' не объявлен
У меня есть Web.Release.config, который успешно преобразует строку соединения.
Когда я добавляю раздел microsoft.identityModel, я получаю предупреждение:
Атрибут '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="data source=.;initial catalog=MYCOMPANYDemo;UID=MYCOMPANYDBUser;Password=********;multipleactiveresultsets=True;App=EntityFramework""
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>
Ответы
Ответ 1
Я столкнулся с этим, но получил работу. То, что я сделал, было "RemoveAll" и "Insert" вместо замены /match:
<audienceUris>
<add xdt:Transform="RemoveAll" />
<add value="http://example.com/" xdt:Transform="Insert" />
</audienceUris>
Когда я делаю это, я получаю желаемый файл конфигурации преобразования и вывода.
Ответ 2
Теперь это работает с Visual Studio 2012 (v4.5.50709). Я все еще получаю предупреждение "атрибут не объявлен" в редакторе, но для меня работает директива xdt: Transform = "Replace".