完全限定的文件名必须少于260个字符,目录名必须少于248个字符

  • 本文关键字:字符 248个 260个 文件名 botframework
  • 更新时间 :
  • 英文 :


我正在尝试将一个机器人部署到azure。我使用的是Bot SDK V3模板。它在本地工作,并用模拟器进行了测试。当我尝试将项目发布到Azure时,我会收到以下错误:

"obj\Release \Package\PackageTmp\obj\Release\PackageTmp\oj\Release \PackageTmp \obj\ Release \Package Tmp\obj\ Release \Package Tmp \obj\Debug\ TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB2D92.cs到obj\Release\Package \PackageTmp \obj\Release \ Package\PackageTmp\obj \Release \ Package \ PackageTmp\ obj\ Release\Package\Package\PackageTmp\obj\Debug\TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB2D92.cs失败。指定的路径、文件名或两者都太长。完全限定的文件名必须少于260个字符,目录名必须少于248个字符。Microsoft.Bot.Sample.SimpleEchoBot 0">

我通过将Computer\HKEY_LOCAL_machine\SYSTEM\CurrentControlSet\Control\FileSystem\LongPathsEnabled中的注册表项设置为1,在机器上启用了长路径。不过,同样的错误。

我还在C驱动器上创建了一个短文件夹,名为C:\D,在文件夹D中,我创建了VS解决方案。不过,同样的错误。

我无法将该项目发布到azure。需要做些什么来解决这个问题?

我遇到了这个问题,还不能确定根本原因,除了在包对象中嵌套包对象。

作为一种快速解决方案;您可以删除obj\Release \Package\PackageTmp下的所有内容,然后重新发布。

或者,您可以在项目文件中使用预构建事件来清除构建时的旧包:

set "packagetemp=objReleasePackagePackageTmp"
rmdir /Q /S $(ProjectDir)%packagetemp%

最新更新