无法在Azure门户中查看通过Visual Studio创建/部署的功能的代码,但是当我通过门户

时间:2018-02-15 00:33:03

标签: c# .net azure azure-functions

我有一个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文件并发布它也没什么区别。

1 个答案:

答案 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