IIS - Ошибка: нераспознанный атрибут configBuilders - PullRequest
0 голосов
/ 17 июня 2020

Error Message

Я пытался установить ASP. NET API, но я продолжаю получать эту ошибку на сервере IIS при попытке проверить Строки подключения. Это совершенно новый проект API ASP. NET с добавлением только 2 переменных в таблицу регистрации.

My Connection String (web.config):

<configBuilders>
<builders>
<add name="Secrets" userSecretsId="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
type="Microsoft.Configuration.ConfigurationBuilders.UserSecretsConfigBuilder, Microsoft.Configuration.ConfigurationBuilders.UserSecrets, Version=2.0.0.0, Culture=neutral, PublicKeyToken=xxxxxxxxxx" />
</builders>
</configBuilders>

<connectionStrings configBuilders="Secrets">
<add name="DefaultConnection" connectionString="Data Source=SERVER;Initial Catalog=myAPIApp;Persist Security Info=True;User ID=xxxxxxx;Password=xxxxxxx" />
</connectionStrings>

1 Ответ

0 голосов
/ 18 июня 2020

После установки указанного ниже пакета Nuget,
https://www.nuget.org/packages/Microsoft.Configuration.ConfigurationBuilders.Environment/
Мы должны сначала зарегистрировать configbuilder, прежде чем использовать построитель настраиваемой конфигурации.

<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>

Пожалуйста, обратитесь к моей конфигурации получения ServiceID из System Environment Variables предпочтительно.

<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="Secrets" type="Microsoft.Configuration.ConfigurationBuilders.EnvironmentConfigBuilder, Microsoft.Configuration.ConfigurationBuilders.Environment, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
    </builders>
  </configBuilders>

  <appSettings configBuilders="Secrets">
    <add key="ServiceID" value="ServiceID value from web.config" />
    <add key="ServiceKey" value="Spotify" />
  </appSettings>

  <connectionStrings configBuilders="Secrets">
    <add name="default" connectionString="Data Source=web.config/mydb.db" />
  </connectionStrings>

ServiceID/ServiceKey будет получено значение из переменных системной среды, если оно установлено.
Не стесняйтесь, позвольте мне знать, существует ли проблема.

...