Извлечение файлов исходного кода из функции Azure на портале Azure

#azure #azure-functions #recovery #azure-function-app

#azure #azure-функции #восстановление #azure-функция-приложение

Вопрос:

Я разработал решение для функций Azure в Visual Studio 2019 и развернул его в функции Azure, загрузив publisher .

Но случайно я удалил весь исходный код на локальном компьютере, куда я также не мог получить доступ даже из «инструментов восстановления программного обеспечения».

есть ли какой-либо способ получить файлы исходного кода из инструментов разработки функций Azure на портале Azure? или локальный компьютер C диск?

Ответ №1:

Если вы откроете службу приложений Azure Function и перейдете в раздел «Функции», вы сможете открыть свои отдельные функции, а затем выбрать раздел «Код тест» и сможете увидеть свою функцию

Я не знаю, влияет ли тип разработанной вами функции на вашу способность видеть этот исходный код или нет.

Комментарии:

1. Это не работает. Поскольку они развертываются через VS, загружаются только скомпилированные библиотеки DLL, а не фактические источники

2. Возможно, вам не повезло, потому что я вижу свой исходный код в этой области. Вы можете попробовать открыть консоль Kudu в разделе «Дополнительные инструменты» в службе приложений, а затем выбрать панель управления WebJobs в раскрывающемся списке «Инструменты» вверху и один раз на панели управления WebJobs, выбрав функции вверху. Но, судя по звукам, если вы нашли скомпилированную DLL, я не думаю, что исходный код также был загружен. Вы всегда можете декомпилировать свою DLL с помощью dotpeek и посмотреть, к чему это приведет?

3. Я только что видел ваш комментарий выше молчания. Если у вас загружена DLL, вы можете использовать dotPeek от JetBrains для ее декомпиляции и просмотра исходного кода. Хотя имена переменных / методов могут отличаться

4. Сработало для меня. Я использую vscode для разработки и развертывания функций Python, и я также потерял одну из функций. Проверяя «код тест», я могу видеть свой код и извлекать его.

Ответ №2:

При развертывании через Visual Studio исходный код был скомпилирован локально, и были загружены только библиотеки DLL. Таким образом, вы не можете напрямую просматривать свой код. Однако вы можете получить доступ к своим библиотекам DLL и загрузить их. Тогда вы сможете использовать любой декомпилятор, чтобы снова просмотреть свой исходный код (возможно, не такой красивый, как изначально …).

Перейдите в консоль SCM, чтобы просмотреть и загрузить все файлы: https://{YOURFUNCTIONNAME}.scm.azurewebsites.net/dev/wwwroot/

Комментарии:

1. Да, @Silent, я могу получить эту DLL, но я добавил эту DLL в ссылку на проект (консольное приложение), предполагая, что если я нажму F11 в режиме отладки, это может привести меня к исходному коду. Но этого не происходит.

2. Я сказал, что вам, вероятно, нужен правильный декомпилятор, такой как ILSpy