我正在使用最新的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).
失败
secretKey
和botFilePath
的值硬编码到机器人代码中,则会收到一个新错误: System.ArgumentException: 'EncryptedText is not properly formatted'
在同一位置失败。我已经从Azure门户的应用程序设置下找到了我的秘密代码...我找不到有关ArgumentException错误的任何信息。
有人有什么建议吗?
答案 0 :(得分:6)
通过将.bot文件的挂锁设置为空字符串来解决第二个问题。