更优雅的方法来解决Visual Studio中的红色波浪形的nuget依赖关系

问题描述 投票:0回答:1

我正在学习Visual Studio 2017的通用主机,我正在研究的样本是here。我逐行重新键入代码,我发现红色波浪线。

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

如果我们不加载相关的nuget包,按ctrl+.有时不起作用。

我尝试通过查找using名称空间然后加载相关的nuget包来逐个修复。不幸的是,由于不同的nuget包中存在具有不同步名称的扩展方法,因此并不总是那么容易。

Question

有没有更优雅的方法来解决这个问题?

Edit

我应该做以下笔记吗?

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");
    })

教育不应该专注于记住我们可以轻易查找的内容。它应该专注于建立解决问题的技能。

visual-studio nuget nuget-package
1个回答
1
投票

有没有更优雅的方法来解决这个问题?

是的,当我们使用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包及其版本。

希望这可以帮助。

© www.soinside.com 2019 - 2024. All rights reserved.