C# Can';t在Azure中更新Azure函数

C# Can';t在Azure中更新Azure函数,c#,azure,azure-functions,C#,Azure,Azure Functions,我在一个.Csx文件中开发了一个Azure函数,它调用一个C#库 在Azure中创建函数应用程序很好 首次部署到Azure是可以的 对函数的任何更新都可以在本地仿真器上正常工作。 但是,当我将函数应用程序的新版本(使用Web deploy,或使用Zip+REST API的自定义部署脚本)部署到Azure时,我会收到如下消息: 2017-02-10T16:54:29.160 Exception while executing function: Functions.MailSenderFuncti

我在一个.Csx文件中开发了一个Azure函数,它调用一个C#库

在Azure中创建函数应用程序很好

首次部署到Azure是可以的

对函数的任何更新都可以在本地仿真器上正常工作。

但是,当我将函数应用程序的新版本(使用Web deploy,或使用Zip+REST API的自定义部署脚本)部署到Azure时,我会收到如下消息:

2017-02-10T16:54:29.160 Exception while executing function: Functions.MailSenderFunction. mscorlib: 
Exception has been thrown by the target of an invocation. f-MailSenderFunction__-1032464143: 
Method not found: 'Void MyCompany.MailSenderFunctionLib.MailSenderFunctionProcessor.Run(MyCompany.MyProject.Common.Models.Mail, MyCompany.MailSenderFunctionLib.LogHandler)'.
即使我在使用门户、Http Rest API进行部署之前删除了该函数,也无济于事

我需要重新创建一个全新的功能应用程序资源,以使我的新版本正常工作

在不改变代码的情况下,如果创建一个全新的空函数应用程序并将该函数应用程序部署到Azure,那么我在Azure中就得到了一个运行良好的Azure函数

但我无法重新部署到同一个Azure功能应用程序。

我已经找了一个星期了。 恐怕这是一只天蓝色的虫子


有人有想法吗?

< P>我已经用DLL使用Azure函数了一段时间,并且使用Team Foundation服务发布版本解决了这个问题。

我将发布构建分为3个步骤

步骤01。使用power shell azure powershell停止azure function应用程序

步骤02。将更改提交到azure函数内部git repo

步骤03。使用powershell azure powershell启动azure函数应用程序

为此,您可以从门户网站本身获取powershell cmd

门户->应用->资源管理器->单击刀片服务器中的“Go”链接,打开一个新选项卡->应该有一个powershell选项卡,其中包含所有相关的powershell命令


希望这有帮助

重新启动功能应用程序是否有帮助?功能应用程序设置->应用程序服务设置->重启实际上,它在我下班后几个小时开始工作。我刚刚按下了“开发”选项卡中的“运行”按钮,看到一条消息说我的函数已执行。然后我从csx生成了另一个版本的dll+调用,重新部署。与上面相同的错误消息。然后我按下了重启按钮,在服务总线队列中发送了一条消息作为触发器,我得到了关于not found方法的相同错误消息。。。我明天去看看。查看我函数的bin/目录中的dll,并进行反编译,我只是观察到,它是最新的。这不是我第一次感觉到缓存/延迟这是一个很快就会被修复的限制,请看,我的部署过程不是Git,而是RESTAPI,但它对我来说是有效的。我尝试使用门户而不是Powershell,它不起作用,但按照您的建议使用Azure Powershell命令,它起作用。谢谢无摩擦抱歉我也是指azure powershell cli。。更新答案