我正在使用最新的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文件中将secretKeybotFilePath的值硬编码到机器人代码中,则会收到一个新错误:


System.ArgumentException: 'EncryptedText is not properly formatted'在同一位置失败。我已从Azure门户在应用程序设置下获取了我的秘密代码...我找不到有关ArgumentException错误的任何信息。
有人有什么建议吗?

最佳答案

通过将.bot文件的挂锁设置为空字符串来解决第二个问题。

关于c# - Microsoft Bot Framework System.ArgumentException:'EncryptedText格式不正确',我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52562455/

10-12 01:43