Итак, эта проблема довольно сложная, но я постараюсь сделать ее максимально простой.
Итак, у меня есть эта служба ботов, созданная на платформе Microsoft 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. Раньше мне приходилось вручную копировать project.lock.json из загружаемого zip-файла, доступного в Azure (он находится в gitignore), поскольку отладочный хост не восстанавливал этот материал автоматически. В последнее время это больше не кажется проблемой. В любом случае, файл debughost.cmd работает нормально.
Нет, настоящая проблема возникает, когда я пытаюсь открыть этот материал в Visual Studio. Смотрите, когда я пытаюсь открыть файл bot.sln, я получаю следующее сообщение об ошибке:
Один или несколько проектов в решении были загружены неправильно. Пожалуйста, смотрите Окно вывода для более подробной информации.
Итак, Окно вывода дает мне эту супер полезную информацию:
Не удалось прочитать некоторые свойства, связанные с решением.
Угу... Ну, с точки зрения того, что отображается в Visual Studio, отображаются только файлы debughost.cmd, commands.json и readme.md. Папка сообщений есть, но она пуста. Также есть функция Azure Functions. Вот и все.
Теперь я просмотрел всю информацию по этой проблеме, но, видимо, я единственный человек, у которого она была. Более того, я пытался открыть бота в VS2015, VS2017, только из исходного кода, загруженного из Azure (т. е. без Git), и из репозитория BitBucket. Я также пытался использовать подключение к системе управления версиями из Team Explorer в Visual Studio. Ничего не работает! Я не могу найти никакой информации о том, что может быть неправильно настроено, и мне кажется странным, что мне приходится что-то менять. Я мог бы serrrrrriously использовать некоторую помощь здесь.