microsoft.identityModel 上的 Web 配置转换 - 未声明“http://schemas.microsoft.com/XML-Document-Transform”属性
Posted
技术标签:
【中文标题】microsoft.identityModel 上的 Web 配置转换 - 未声明“http://schemas.microsoft.com/XML-Document-Transform”属性【英文标题】:Web config transform on microsoft.identityModel - 'http://schemas.microsoft.com/XML-Document-Transform' attribute is not declared 【发布时间】:2012-01-20 18:13:17 【问题描述】:我有一个成功转换连接字符串的 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>
【问题讨论】:
我也遇到过这种情况。疯狂的是其他自定义配置部分没有表现出这种行为(例如,log4net)。就像它针对用户定义的命名空间进行了强化。 你有没有得到这个工作? 【参考方案1】:这似乎现在适用于 Visual Studio 2012 (v4.5.50709)。我仍然在编辑器中收到“未声明属性”警告,但 xdt:Transform="Replace" 指令对我有用。
【讨论】:
这似乎与 VS2015 中的行为相同。 我只在 VS2015 中的单个属性上得到错误,所有其他(相同的)属性都可以正常工作。看起来编辑器警告可以安全地忽略。 这是真的。警告似乎不正确。非常令人沮丧,因为这似乎表明你做错了什么。【参考方案2】:我也遇到过这个问题,但已经让它工作了。我所做的是“RemoveAll”和“Insert”而不是替换/匹配:
<audienceUris>
<add xdt:Transform="RemoveAll" />
<add value="http://example.com/" xdt:Transform="Insert" />
</audienceUris>
当我这样做时,我会得到所需的转换和输出配置文件。
【讨论】:
以上是关于microsoft.identityModel 上的 Web 配置转换 - 未声明“http://schemas.microsoft.com/XML-Document-Transform”属性的主要内容,如果未能解决你的问题,请参考以下文章
System.IdentityModel.Tokens 和 Microsoft.IdentityModel.Tokens 有啥区别?我应该在 ASP.NET Core 应用程序中使用哪一个?
System.TypeInitializationException:“Microsoft.IdentityModel.Clients.ActiveDirectory.Authenticator”的类
找不到方法:AcquireToken(System.String, Microsoft.IdentityModel.Clients.ActiveDirectory.ClientAssertionCer
Microsoft.IdentityModel dll 在哪里
microsoft.identityModel 上的 Web 配置转换 - 未声明“http://schemas.microsoft.com/XML-Document-Transform”属性
"error_description":"引发了 'Microsoft.IdentityModel.Tokens.AudienceUriValidationFailedE