【发布时间】:2021-10-21 15:36:40
【问题描述】:
我有一个 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 响应,消息为 Unrecognized attribute 'configBuilders'。 Visual Studio 中的 Intellisense 还会突出显示 configBuilders 并显示 The configBuilders attribute is not allowed。
如果我从system.serviceModel 中删除configBuilders 属性,则应用程序会正常运行,尽管该部分中的占位符当然都没有展开。
如果我从system.serviceModel 中删除configBuilders 属性并将其添加到另一个部分,例如connectionStrings,则应用程序运行并且connectionStrings 部分中的占位符被替换。
显然,system.serviceModel 部分有些不同,但我不明白我可以解决什么问题或如何解决它,以便可以替换其中的占位符。
【问题讨论】:
-
我对@987654334@ 部分有确切的问题。除了
或 之外,我几乎在任何部分都得到了“无法识别的属性 'configBuilders'”,这让整个事情对我来说毫无用处。
标签: asp.net service-model asp-net-config-builders