Более элегантные способы разрешения зависимостей nuget для красного волнистого в Visual Studio - PullRequest
0 голосов
/ 07 марта 2019

Я изучаю общий хост с Visual Studio 2017, и пример, над которым я работаю, - здесь .Я перезаписываю код за строкой и нахожу красные волнистые линии.

var host = new HostBuilder()
    .ConfigureHostConfiguration(configHost =>
    {
        configHost.SetBasePath(Directory.GetCurrentDirectory());
        configHost.AddJsonFile("hostsettings.json", optional: true);
        configHost.AddEnvironmentVariables(prefix: "PREFIX_");
        configHost.AddCommandLine(args);
    })

Нажатие ctrl+. иногда не работает, если мы не загружаем соответствующие пакеты nuget.

Я пытаюсьисправление одного за другим путем поиска пространств имен using с последующей загрузкой соответствующих пакетов nuget.К сожалению, это не всегда легко из-за методов расширения, которые существуют в разных пакетах nuget с несинхронизированными именами.

Вопрос

Есть ли более элегантный способ решения этой проблемы?

Редактировать

Должен ли я делать следующие заметки?

IHost host = new HostBuilder()
    .ConfigureHostConfiguration(icb =>
    {
        //FileConfigurationExtensions class in
        //Microsoft.Extensions.Configuration.FileExtensions
        icb.SetBasePath(Directory.GetCurrentDirectory());

        //JsonConfigurationExtensions class in
        //Microsoft.Extensions.Configuration.Json
        icb.AddJsonFile("appsettings.json");
    })

Образование не должно фокусироваться на запоминании того, что мы можем легко найти.Следует сосредоточиться на создании навыков решения проблем.

1 Ответ

1 голос
/ 08 марта 2019

Есть ли более элегантный способ решения этой проблемы?

Да, когда мы используем nuget для управления нашими ссылками, в nuget есть записи для хранения пакетов, которые мы установили.

Возврат к предыдущему каталогу:

GenericHostSample.csproj

вы найдете файл проекта GenericHostSample.csproj, затем откройте его, вы найдете следующее содержимое:

  <ItemGroup>
    <PackageReference Include="Microsoft.Extensions.Configuration.CommandLine" Version="2.1.0" />
    <PackageReference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="2.1.0" />
    <PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="2.1.0" />
    <PackageReference Include="Microsoft.Extensions.Hosting" Version="2.1.0" />
    <PackageReference Include="Microsoft.Extensions.Hosting.Abstractions" Version="2.1.0" />
    <PackageReference Include="Microsoft.Extensions.Logging" Version="2.1.0" />
    <PackageReference Include="Microsoft.Extensions.Logging.Configuration" Version="2.1.0" />
    <PackageReference Include="Microsoft.Extensions.Logging.Console" Version="2.1.0" />
    <PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="2.1.0" />
  </ItemGroup>

Итак, мы могли бы узнать, какие пакеты nuget и их версии необходимы для этого проекта.

Надеюсь, это поможет.

...