我今晚在Visual Studio中创建了一个Azure函数,并在发布它时出错。因此,我创建了一个普通的HTTP触发的HTTP,并尝试发布它,没有更改任何代码。同样的错误。我已登录到我的Azure帐户,已经下载了发布配置文件,并对其进行了重置并再次尝试。我通过在IDE中选择功能应用程序来完成此操作。我试图弄清楚如何通过FTP传输功能应用程序,但是我向上推了文件,但门户中没有任何内容(我将build文件夹复制到服务器上的wwwroot文件夹中)。在FTP中,我可以在部署文件夹中看到一些文件,这些文件表示尝试的部署失败,因此正在与Azure进行通信,并确定它没有起作用。
错误日志不是很有帮助:
30/05/2019 8:46:11 PM System.AggregateException:发生一个或多个错误。 ---> System.Exception:发布失败。 ---内部异常堆栈跟踪的结尾--- 在System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions) 在System.Threading.Tasks.Task.Wait(Int32毫秒超时,CancellationToken cancelToken) 在Microsoft.Publish.Framework.Model.DefaultPublishSteps。<> c__DisplayClass26_0.b__2() 在System.Threading.Tasks.Task`1.InnerInvoke() 在System.Threading.Tasks.Task.Execute() ---从之前引发异常的位置开始的堆栈结束跟踪--- 在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务) 在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务) 在Microsoft.Publish.Framework.Model.DefaultPublishSteps.d__23.MoveNext() ---从之前引发异常的位置开始的堆栈结束跟踪--- 在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务) 在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务) 在Microsoft.Publish.Framework.ViewModel.ProfileSelectorViewModel.d__176.MoveNext() --->(内部异常#0)System.Exception:发布失败。<---
==================
如果有关于放置位置的指南,我很乐意通过FTP进行操作。
答案 0 :(得分:0)
我不确定Visual Studio问题。我曾经遇到过类似的情况,它需要我注销Azure订阅并重新登录才能解决。如果您还没有尝试,可以尝试一下。
关于替代部署策略,建议您看看Run from Package部署功能。它允许您将应用程序发布为zip文件并以这种方式运行。其他特定于MS的工具(VS Code,Azure Pipelines等)正朝着使用此机制的方向发展,而不是Visual Studio今天使用的传统“ MSDeploy”机制。
答案 1 :(得分:0)
因此,我发现了问题。如果您在Azure内创建一个函数并下载它,它将使用csx文件,这不是我想要的,但是local.settings.json包含了大量不在VS生成的文件中的设置。将它们复制到我的项目中即可完成所有工作。您应该使用自己的下载文件,因此设置对您来说是正确的,但是,它是这样的设置:
"FUNCTIONS_WORKER_RUNTIME": "dotnet",
"WEBSITE_SLOT_NAME": "Production",
"FUNCTIONS_EXTENSION_VERSION": "~2",
"ScmType": "None",
"WEBSITE_AUTH_ENABLED": "False",
"APPINSIGHTS_INSTRUMENTATIONKEY": "xxxxxx",
"WEBSITE_NODE_DEFAULT_VERSION": "10.14.1",
"WEBSITE_CONTENTAZUREFILECONNECTIONSTRING": "DefaultEndpointsProtocol=xsxxxxxx",
"WEBSITE_CONTENTSHARE": "xxxx",
"WEBSITE_SITE_NAME": "xxxxxx",
"AzureWebJobsStorage": "DefaultEndpointsProtocol=xxxxxxxx"
部署还导致我的项目下载了缺少的DLL,因此Visual Studio中的向导似乎可以完全清除。