我正在使用最新的Bot框架更新。我有两个问题。
我好奇的第一件事是在初始设置时,已按照README.md的要求将botFilePath和botFileSecret输入到appsettings.json中。一旦我尝试在本地运行它,似乎无法从appsettings.json中读取。我研究了Configuration类变量,但无法弄清楚为什么它无法从我输入的键中获取值。
这是一段代码-我已经从https://github.com/Microsoft/BotBuilder-Samples/blob/master/samples/csharp_dotnetcore/05.multi-turn-prompt/Startup.cs中复制了很多代码
public void ConfigureServices(IServiceCollection services)
{
services.AddBot<MultiTurnPromptsBot>(options =>
{
var secretKey = Configuration.GetSection("botFileSecret")?.Value;
var botFilePath = Configuration.GetSection("botFilePath")?.Value;
// Loads .bot configuration file and adds a singleton that your Bot can access through dependency injection.
var botConfig = BotConfiguration.Load(botFilePath, secretKey);
并且在
BotConfiguration.Load(...) because botFilePath is null (NullException error).
处失败如果我尝试从我的appsettings.json文件中将
secretKey
和botFilePath
的值硬编码到机器人代码中,则会收到一个新错误:System.ArgumentException: 'EncryptedText is not properly formatted'
在同一位置失败。我已从Azure门户在应用程序设置下获取了我的秘密代码...我找不到有关ArgumentException错误的任何信息。有人有什么建议吗?
最佳答案
通过将.bot文件的挂锁设置为空字符串来解决第二个问题。
关于c# - Microsoft Bot Framework System.ArgumentException:'EncryptedText格式不正确',我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52562455/