利用.net 5控制台应用程序中的用户机密



我正在构建一个简单的控制台应用程序来处理一个大的CSV文件。SDK的版本是5.0.202,我使用的是Manjaro Linux。

代码

using System;
using System.Text;
using TinyCsvParser;
using System.Linq;
using Microsoft.Extensions.Hosting;
namespace DrawsParser
{
class Program
{
static void Main(string[] args)
{
var host = new HostBuilder()
.ConfigureAppConfiguration((hostContext, builder) =>
{
if (hostContext.HostingEnvironment.IsDevelopment())
{
builder.AddUserSecrets<Program>();
}
})
.Build();
host.Run();
CsvParserOptions options = new CsvParserOptions(true, ',');
CsvDrawResultMapping mapping = new CsvDrawResultMapping();
CsvParser<DrawResult> parser = new CsvParser<DrawResult>(options, mapping);
var results = parser
.ReadFromFile(@"subset_game_data.csv", Encoding.UTF8)
.ToList();
foreach (var result in results)
{
var item = result.Result;
string text = $"{item.Date.ToString()} | {item.State} | {item.Game} | {item.OriginalResult}";
Console.WriteLine(text);
}
}
}
}

包装

DrawsParser on  feature/reading-csv-file [!?] •NET v5.0.202 🎯 net5.0 ❯ dotnet list package
Project 'DrawsParser' has the following package references
[net5.0]:
Top-level Package                                     Requested   Resolved
> Microsoft.Extensions.Configuration                  5.0.0       5.0.0
> Microsoft.Extensions.Configuration.UserSecrets      5.0.0       5.0.0
> Microsoft.Extensions.Hosting                        5.0.0       5.0.0
> TinyCsvParser                                       2.6.0       2.6.0

当我运行dotnet build .时,我得到以下错误:

/home/ryan/work/will/parser/DrawsParser/Program.cs(18,29(:错误CS1061:"IConfigurationBuilder"不包含"AddUserSecrets"的定义,并且找不到接受"IConfigorationBuilder"类型的第一个参数的可访问扩展方法"AddUserSecrets"(是否缺少using指令或程序集引用?([/home/ryan/work/will/parser/DrawsParser/DrawsParser.csproj]

我不确定我遗漏了什么,我实际上是在遵循这里的官方文档。

在谷歌上搜索C# IConfigurationBuilder.AddUserSecrets会看到这个文档页面,它显示AddUserSecret扩展方法是在Microsoft.Extensions.Configuration命名空间中定义的,检查您的代码时,您缺少using Microsoft.Extensions.Configuration;指令

最新更新