提问人:codeMonkey 提问时间:9/1/2022 最后编辑:codeMonkey 更新时间:6/13/2023 访问量:469
.NET Framework 4.8 UserSecretsConfigBuilder“扩展”(v2.0) 和“令牌”(v3.0) 模式不会替换所有令牌
.NET Framework 4.8 UserSecretsConfigBuilder "Expand" (v2.0) and "Token" (v3.0) modes don't replace all tokens
问:
我正在使用 Microsoft.Configuration.ConfigurationBuilders.UserSecretsConfigBuilder 并尝试更新我的 web.config 文件中的令牌。文档提到(更新:现在在 v3.0 中)在构建器配置中应该对 web.config 文件的原始 XML 进行操作,并用 pattern 替换它找到的任何标记;然而,根据我的经验,情况并非如此。mode="Expand"
mode="Token"
${...}
这是我的配置部分:
<configSections>
<section name="configBuilders" type="System.Configuration.ConfigurationBuildersSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" restartOnExternalChanges="false" requirePermission="false" />
</configSections>
<configBuilders>
<builders>
<add name="Secrets" userSecretsFile="~\secrets.xml" mode="Expand" optional="true" type="Microsoft.Configuration.ConfigurationBuilders.UserSecretsConfigBuilder, Microsoft.Configuration.ConfigurationBuilders.UserSecrets, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
</builders>
</configBuilders>
但是,在下面,我有一个内容安全策略的令牌,当我运行应用程序时,该令牌不会被替换:
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="Content-Security-Policy" value="${ContentSecurityPolicy}" />
</customHeaders>
</httpProtocol>
</system.webServer>
同样,这既没有替换 my 部分中的令牌,也没有替换部分中的标记。system.serviceModel
system.net
文档是否完全错误,它仍然只在 和 上运行?那将是一个巨大的遗憾。appSettings
connectionStrings
答: 暂无答案
评论