在本地运行Azure功能模板时,无法将参数“log”绑定到类型TraceWriter

时间:2018-05-04 04:12:41

标签: azure azure-functions

使用Azure功能时遇到了问题。

我在VS中创建了Azure Functions v1(.Net Framework)Http Trigger模板。但是当我尝试直接运行它时,会抛出异常。 my exception here

我使用的是最新版本的VS(15.6.7)和Azure功能和Web作业工具(15.0.40502.0)。

当我第一次运行它时,没有提示安装任何东西,它在1.0.10 Azure Function CLI上运行。在我重新启动VS并尝试再次运行它之后,VS要求下载1.0.12.1功能CLI。下载似乎失败,因为我仍然看到窗口的瓷砖上的1.0.10。例外情况一直存在。

有什么想法吗?由于我只是尝试运行模板,因此没有意义。

1 个答案:

答案 0 :(得分:2)

根本原因显示在屏幕截图中。

  

启动主机(...,版本= 1.0.11232.0)

这意味着您的功能Cli 1.0.4 除了 1.0.10 ,实际上,这里是release note of 1.0.4。经过测试,发现旧版本确实会导致此异常。此版本问题源于无法通过VS。

下载最新的Azure功能核心工具

官方解决方案更新

Handle downloading problem of Azure Function Core Tools。尝试再次使用VS下载第一个选项,如果仍然失败,请使用第二个选项PS脚本。

以下是原始解决方案,类似于第一和第三官方选项,只是忽略它

更多详情

Azure函数和Web作业工具最近更新为15.0.40502.0,并且还更改了使用本地函数Cli的机制。 Release Notes

  

工具现在使用一个feed,只要服务发生变化,就会保持模板,构建工具和运行时的最新状态。

我们第一次在此更新后创建Azure功能时,我们可以在对话框Making sure all templates are up to date...上看到提示。这意味着VS正在将必要的cli和模板下载到此文件夹C:\Users\UserName\AppData\Local\AzureFunctionsTools

enter image description here 过了一会儿,我们可以看到提示更改为

enter image description here

如果我们不等待下载完成并直接创建项目,则会提示VS正在下载1.0.12.1 Cli。之后一切都应该正常工作。

至于你的问题,由于网络速度慢,我会重现一次。它无法下载这些文件并尝试使用之前由VS下载的旧版本cli。

<强>解决方案

我建议您删除AzureFunctionsTools文件夹并重新启动VS以重新下载。

如果仍无法下载,您可以手动下载。 您可以在C:\Users\UserName\AppData\Local\AzureFunctionsTools\feed.json找到cli,itemTemplates和projectTemplates的下载链接。

C:\Users\UserName\AppData\Local\AzureFunctionsTools\Releases\1.0.12.1中的文件夹结构就像这样

cli
--func.exe
....
templates
--ItemTemplates.nupkg
--ProjectTemplates.nupkg
manifest.json

manifest.json的内容

{
  "ReleaseName": "1.0.12.1",
  "CliEntrypointPath":"C:\\Users\\UserName\\AppData\\Local\\AzureFunctionsTools\\Releases\\1.0.12.1\\cli\\func.exe",
  "TemplatesDirectory": "C:\\Users\\UserName\\AppData\\Local\\AzureFunctionsTools\\Releases\\1.0.12.1\\templates",
  "FunctionsExtensionVersion": "~1",
  "SdkPackageVersion": "1.0.13"
}