c# - 在 .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”的定义,并且没有可访问的扩展方法“AddUserSecrets”接受第一个参数可以找到类型“IConfigurationBuilder”(您是否缺少 using 指令或程序集引用?) [/home/ryan/work/will/parser/DrawsParser/DrawsParser.csproj]
我不确定我错过了什么,我实际上是在关注官方文档。
解决方案
谷歌搜索C# IConfigurationBuilder.AddUserSecrets
导致这个文档页面,它显示AddUserSecret
扩展方法是在Microsoft.Extensions.Configuration
命名空间中定义的,并检查你的代码你错过了using Microsoft.Extensions.Configuration;
指令
推荐阅读
- kubernetes - kubernetes pod 尝试自行连接并失败,因为 http://localhost:
- android - Google PlaceAutoCompleteFragment 在被点击时失去焦点
- javascript - 如何使用 jQuery 从动态 php 数据中按类名找到某些 div
- javascript - node-opcua, nodejs, express: 运行 OPCUAserver 后动态添加变量节点
- clion - 如何仅在 CLion 中为 IdeaVim 正常模式定义键盘快捷键?
- javascript - 获取API 。我从我自己的快递服务器得到一个空字符串
- python - Python Django 计数字典使用 For Loop Per Key
- java - 可以用抽象方法或接口传递消息吗?
- timestamp - InfluxDB中时间字段的操作
- python - 类型错误:字符串索引必须是整数