3

У меня есть эта линияКак включить ссылку на сборку в проекте ASP.NET ядра

string sConnectionString = ConfigurationManager.ConnectionStrings["Hangfire"].ConnectionString; 

И это требует, чтобы включить System.Configuration

В каком месте проекта я должен добавить ссылку на System.Configuration, потому что Я не могу найти классическое место, чтобы сделать это под References?

enter image description here

+0

. Проекты Core Core используют другую конфигурационную модель, основанную на 'Microsoft.Extensions.Configuration', а не' System.Configuration'. Где установлена ​​ваша фактическая строка соединения HangFire? В вашем 'appsettings.json'? – haim770

+0

@ haim770 Я изучаю это руководство http://www.talkingdotnet.com/integrate-hangfire-with-asp-net-core-web-api/ –

ответ

6

В учебнике вы как раз следующий, вероятно, использует Asp.Net Сердечник ориентации полный .Net Framework (4.6), который способен полагаться на System.Configuration (что не является портативным и не поддерживается в CoreFX).

. Проекты Core Core (являющиеся межплатформенными) используют другую конфигурационную модель, которая основана на Microsoft.Extensions.Configuration, а не на System.Configuration.

Hangfire Если предположить, что соединение-строка определяется в вашем appsettings.json:

{ 
    "ConnectionStrings": { 
     "HangFire": "yourConnectionStringHere" 
    } 
} 

Вы можете прочитать его в Startup.cs:

public class Startup 
{ 
    public Startup(IHostingEnvironment env) 
    { 
     var builder = new ConfigurationBuilder() 
      .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true) 

     this.Configuration = builder.Build(); 

     var hangFireCS = this.Configuration.GetConnectionString("HangFire"); 
    } 
} 

Кроме того, ты собираешься нужен Microsoft.Extensions.Configuration.Json пакет для использования способ расширения AddJsonFile().

+0

Я согласен с вами, но почему руководство, с которым я столкнулся, представило старый подход, который сейчас не поддерживается в Asp.Net Core? Означает ли это, что руководство неверно? –

+0

В этом нет ничего «неправильного». Вы можете создавать приложения Asp.Net Core, ориентированные на полную структуру (4.6).Но вы не получите всех преимуществ и переносимости базовой структуры. – haim770

-2

@Dimi Щелкните правой кнопкой мыши на папке References -> Добавление ссылок -> Конфигурация Поиск -> проверить System.Configuration -> Нажмите на ОК.

затем добавить Namespaces на вашем .cs файл т.е.

использованием System.Configuration;

enter image description here enter image description here

+0

Он говорит, что НИКАКИЕ ИЗДЕЛИЯ НАХОДЕНЫ –

+1

Я обновил свой ответ. пожалуйста, проверь это. @Dimi –

+0

Извините, я не могу видеть те же окна, что и вы. Я создал проект ASP.NET Core Webapi. См. Мой обновленный вопрос: –