繁体   English   中英

如何在本地加速调试 C# Azure 函数? 是

[英]How to speed up debugging C# Azure Function locally? Is

我已经在本地创建了 ac# Azure 函数,如下所述: https : //docs.microsoft.com/en-us/azure/azure-functions/functions-create-first-function-vs-code

这是使用 VS Code 和 Omnisharp。

按 F5 调试一个函数时,做各种事情大约需要 15 秒,然后我可以运行该函数。

有什么方法可以更改代码并重新加载它,而不必再次启动整个omnisharp?

我问是因为这似乎是可能的:

  1. 在 Azure 门户中,保存和运行函数不到 1 秒。
  2. 在本地运行该函数时,可以对其进行调试、设置断点等。
  3. 有一个名为“重新启动”的按钮,但它似乎没有做任何事情

在此处输入图片说明

本地开发目前不支持热重载,但您可以这样做。

本地开发和门户之间最大的区别之一是您在本地使用预编译的 C#(.cs 文件),而门户使用 C# 脚本(.csx 文件)。 这就是为什么有时语法有点不同的原因(即 #r "Newtonsoft.Json" 引入外部程序集)。 这样做的缺点是启动函数较慢,因为它每次都必须编译代码。 这就是为什么从长远来看,使用本地开发的预编译库更便宜。

脚本文件是在调用脚本时而不是在启动之前编译的。 使用预编译函数进行热重载将非常困难。 当我测试它时,在调试会话运行时编辑文件时确实会出现更改。 您可能会考虑在开发期间执行此操作,然后在部署之前将代码移植到类库中以利用更快的启动时间。 您可以在此处阅读有关 C# 脚本的更多信息: https : //docs.microsoft.com/en-us/archive/blogs/cdndevs/adding-c-scripting-to-your-development-arsenal-part-1

您可以在首选项中更改 Functions 项目创建的语言。 更改此设置后,它将一直存在,直到您更改或删除首选项: https : //docs.microsoft.com/en-us/azure/azure-functions/functions-develop-vs-code?tabs=csharp#c -脚本项目

请记住,您不能将预编译函数与 C# 脚本函数混合使用,因此您需要创建一个单独的函数应用程序来使用开发和类库的脚本进行部署。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM