我有一个Azure功能,我在Azure门户中创建。我添加了一个计时器功能和一些虚拟代码,它工作正常;我在浏览器中创建并编写了代码 - 让我们称之为FunctionA
。
然后我在Visual Studio 2017中创建了一个新项目(FunctionB
),添加了一个新的计时器函数并将其发布到之前提到的同一个Azure函数中。有趣的是,当我进入门户网站时,我仍然可以FunctionA
的代码,但对于FunctionB
,我看到的是local.settings.json文件 - 没有代码可见。
然后我在顶部收到此消息:
您的应用目前处于只读模式,因为您已发布了一个 生成function.json。对function.json所做的更改不会 受到函数运行时
的尊重
我认为这意味着我的VS2017项目中的local.settings.json文件已经以某种方式使其成为readonly,但它无法解释为什么我甚至无法在Azure门户中看到代码,更不用说编辑它了。 / p>
以下是FunctionB的代码:
namespace DemoAzureFunction
{
public static class Function1
{
[FunctionName("Function1")]
public static void Run([TimerTrigger("0 0 5 * * *")]TimerInfo myTimer, TraceWriter log)
{
log.Info($"C# Timer trigger function executed at: {DateTime.Now}");
}
}
}
inbrowser代码编辑/查看是一个非常酷的功能。即使我编辑默认的local.settings.json
文件并发布它也没什么区别。
答案 0 :(得分:2)
它的设计。更改代码对于VS创建的函数(预编译函数)没有意义,因为您的代码已编译为dll。
如果您查看kudu(https:// {your-function-app-name} .scm.azurewebsites.net / DebugConsole),您会看到门户网站和VS创建的函数的文件夹stracture不同。
有关portal和VS创建函数的更多信息:
https://docs.microsoft.com/en-us/azure/azure-functions/functions-dotnet-class-library
https://docs.microsoft.com/en-us/azure/azure-functions/functions-reference-csharp