首页 > 解决方案 > Bot Framework 从 VS 2019 发布和部署到 Azure - 缺少文件

问题描述

我使用外部资源(.lg 和 .dialog 文件)编写了一个 C# web bot,我认为它没有与代码一起部署。我从 VS2019 部署,右键单击并“发布/天蓝色/Azure 应用程序服务(Windows 10)”到已经存在的应用程序服务中。

这是最糟糕的,几乎什么都不问,我看不到如何将文件添加到发布包中。该机器人无法在 azure 门户上运行,几个小时后我发现日志文件在哪里,并看到它说无法打开 .lg 文件,因为它丢失了。

在自适应对话框构造函数中:

this.Generator = new TemplateEngineLanguageGenerator(Templates.ParseFile(Configuration["Dialog.Templates.Root"]));

在我的 appsettings.json 中:

"Dialog.Templates.Root": "Templates/root-dialog-templates.lg",

如何在部署期间添加要复制的文件?

感谢您的任何建议和帮助!

标签: azuredeploymentbotframework

解决方案


您可以在文件中包含类似此示例的.csproj内容,假设您的.lg,.dialog文件位于Dialogs文件夹下

  <ItemGroup>
    <None Remove="Dialogs\**\*.lg" />
    <None Remove="Dialogs\**\*.dialog" />
  </ItemGroup>

  <ItemGroup>
    <Content Include="Dialogs\**\*.lg">
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
    </Content>
    <Content Include="Dialogs\**\*.dialog">
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
    </Content>
  </ItemGroup>

这样,您将在与项目内容根目录(通常是当前目录)相关的同一文件夹中找到已部署的文件。


推荐阅读