4

好的,所以这个问题有点复杂,但我会尽量使它尽可能简单。

所以我在微软的 Azure 平台上创建了这个机器人服务。它已通过持续集成选项连接到 BitBucket。然后,我尝试按照此处的说明进行操作,以便能够使用 Visual Studio 在本地调试机器人。我下载并安装了所有必需的工具,并将 BitBucket 项目拉入本地存储库。但是,当我尝试在消息文件夹中运行“dotnet restore”时,我收到了以下错误消息:

C:\...\messages\project.json(1,1):错误 MSB4025:无法加载项目文件。根级别的数据无效。第 1 行,位置 1。

这个 project.json 文件是 Azure 自动构建的;为什么它应该是无效的?内容如下所示:

{
  "frameworks": {
    "net46":{
      "dependencies": {
      "Microsoft.Bot.Builder.Azure": "3.1"
      }
    }
   }
}

我也用 Visual Studio 2017 尝试过同样的事情,这次包括消息文件夹中的 messages.csproj 文件。而这一次,dotnet restore 说我需要指定一个项目/解决方案文件,因为文件夹中有多个。我不知道这是否一定是个问题,但官方指南中根本没有提到,所以至少有点可疑。无论如何,指定 project.json 会导致相同的错误,而指定 messages.csproj 似乎可以正常工作并输出:

  NuGet Config files used:
      C:\Users\Connor.Johnson\AppData\Roaming\NuGet\NuGet.Config
      C:\Program Files (x86)\NuGet\Config\Microsoft.VisualStudio.Offline.config

  Feeds used:
      https://api.nuget.org/v3/index.json
      C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\

既然如此,我运行 debughost.cmd。以前,我必须从 Azure 上可用的可下载 zip 文件(位于 gitignore 中)手动复制 project.lock.json,因为 debughost 的东西不会自动恢复这些东西。最近,这似乎不再是问题了。无论如何, debughost.cmd 东西工作正常。

不,真正的问题是当我尝试在 Visual Studio 中打开这些东西时。看,当我尝试打开 bot.sln 文件时,我收到以下错误消息:

解决方案中的一个或多个项目未正确加载。请参阅输出窗口了解更多详细信息。

好的,所以输出窗口给了我这个超级有用的信息:

无法读取与解决方案关联的某些属性。

嗯……嗯,就 Visual Studio 中显示的内容而言,只有 debughost.cmd、commands.json 和 readme.md 出现。消息文件夹在那里,但它是空的。还有一个 Azure Functions 功能。而已。

现在我已经到处寻找有关此问题的信息,但显然我是唯一拥有它的人。此外,我尝试在 VS2015、VS2017 中打开 Bot,仅从 Azure 下载的源代码(即,没有 Git 的东西)和 BitBucket 存储库。我还尝试过使用从 Visual Studio 中的团队资源管理器连接到源代码控制。什么都没用!我找不到有关可能配置错误的任何信息,而且我觉得我必须更改任何内容很奇怪。我可以在这里使用一些帮助。

4

0 回答 0