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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了更优雅的方法来解决Visual Studio中的红色波浪形的nuget依赖关系相关的知识,希望对你有一定的参考价值。

我正在学习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");
    })

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

答案

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

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

希望这可以帮助。

以上是关于更优雅的方法来解决Visual Studio中的红色波浪形的nuget依赖关系的主要内容,如果未能解决你的问题,请参考以下文章

Visual Studio 负载测试启动和清理方法

优雅地使用 VSCode 来编辑 vue 文件

如何将终端更改为 Visual Studio 代码中的当前目录? (热键)[重复]

Android Studio中相互依赖的回调函数——更优雅的解决方案

Visual Studio Code 中的 Pylint“未解决的导入”错误

Visual Studio日文乱码解决方法