Visual Studio 中解决红色波浪形 nuget 依赖关系的更优雅的方法
More elegant ways to resolve nuget dependencies for red squiggly in Visual Studio
我正在使用 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 包中。
问题
有没有更优雅的方法解决这个问题?
编辑
我应该做以下笔记吗?
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");
})
Education should not focus on remembering something that we can easily look up. It should focus on building problem solving skill.
Is there any more elegant way to solve this issue?
是的,当我们使用 nuget 来管理我们的引用时,nuget 有记录来保存我们安装了哪些包。
Return到上一级目录:
你会找到工程文件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 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 包中。
问题
有没有更优雅的方法解决这个问题?
编辑
我应该做以下笔记吗?
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");
})
Education should not focus on remembering something that we can easily look up. It should focus on building problem solving skill.
Is there any more elegant way to solve this issue?
是的,当我们使用 nuget 来管理我们的引用时,nuget 有记录来保存我们安装了哪些包。
Return到上一级目录:
你会找到工程文件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 包及其版本。
希望这对您有所帮助。