Общая библиотека в MVC с использованием App.Config - PullRequest
0 голосов
/ 08 мая 2018

В моем решении есть проект, который является библиотекой классов. У меня есть два консольных приложения в решении, которые ссылаются на эту библиотеку. В библиотеке есть файл App.config, который я добавил по ссылке на консольные приложения, и все отлично.

Я просто добавил веб-приложение к решению и обратился к библиотеке классов. В библиотеке классов есть несколько ссылок, аналогичных var foo = ConfigurationManager.AppSettings["Foo"];. Это хорошо работает в консольных приложениях, но при запуске веб-приложения я получаю исключение, что "Value cannot be null. Parameter name: value" в строке для доступа ConfigurationManager.

Я изменил свой web.config, чтобы он соответствовал следующему:

<configuration>
  <appSettings file="App.config">
    <add key="webpages:Version" value="3.0.0.0" />
    <add key="webpages:Enabled" value="false" />
    <add key="ClientValidationEnabled" value="true" />
    <add key="UnobtrusiveJavaScriptEnabled" value="true" />
  </appSettings>

Я добавил app.config в качестве существующего объекта в проект веб-приложения в виде ссылки. Я установил его всегда копировать при сборке.

Я смотрел на это и , что я все еще не могу заставить вещи работать.


Для дополнительного уточнения. Веб-приложение вызывает метод в библиотеке классов. Библиотека классов использует ConfigurationManager. Это не удается. В том же решении есть консольные приложения, которые делают то же самое и работают.

1 Ответ

0 голосов
/ 08 мая 2018

ASP.NET не использует app.config. Он использует web.config. ConfigurationManager прочитает файл конфигурации, соответствующий типу проекта. Вам действительно не нужно иметь файл .config в библиотеке классов, вместо этого приложения-потребители должны сохранять конфигурацию в соответствующем файле конфигурации для этого типа проекта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...