我有一个 ASP.NET 4.8 应用程序,我正在尝试将配置生成器集成到其中。我已经安装了 NuGet 包Microsoft.Configuration.ConfigurationBuilders.Environment
并将所需的部分添加到Web.config
(此处严重截断)。
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<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="EnvironmentExpand" mode="Expand" type="Microsoft.Configuration.ConfigurationBuilders.EnvironmentConfigBuilder, Microsoft.Configuration.ConfigurationBuilders.Environment" />
</builders>
</configBuilders>
<system.serviceModel configBuilders="EnvironmentExpand">
....
</system.serviceModel>
</configuration>
当我运行应用程序时,我会从每个操作中得到一个 HTTP 500 响应,并带有 message Unrecognized attribute 'configBuilders'
。Visual Studio 中的 Intellisense 也突出显示configBuilders
并表示The configBuilders attribute is not allowed
.
如果我configBuilders
从应用程序中删除该属性,system.serviceModel
则可以正常运行,尽管该部分中的占位符当然都没有展开。
例如,如果我configBuilders
从另一个部分中删除该属性system.serviceModel
并将其添加到另一个部分,connectionStrings
则应用程序将运行并且该connectionStrings
部分中的占位符将被替换。
显然,该部分有些不同,system.serviceModel
但我不明白我可以做什么或如何解决它,以便我可以在那里替换占位符。