当前位置: 首页 > 知识库问答 >
问题:

Azure 函数返回错误:找不到作业函数。尝试公开您的工作类别和方法

隗俊誉
2023-03-14

我已经在Visual Studio 2017中创建了一个Azure Function应用程序,并且可以使用Visual Studio发布功能毫无问题地将其发布到Azure(右键单击项目,然后选择发布)。

由于从Visual Studio的开发人员实例部署不是理想的持续集成策略,我已经与TeamCity和Octopus创建了一个部署管道,其中TeamCiti构建了Azure功能应用程序,Octopu使用WAWSDeploy应用程序将Azure功能文件部署到Azure。部署工作正常,当我通过WAWSDeploy部署时查看Azure函数文件时,这些文件与我从Visual Studio发布Azure函数应用程序时完全相同。

但是,我收到错误未找到作业函数。尝试将您的作业类和方法公开。无效的脚本文件名配置。“script ptFile”属性设置为不存在的文件。当我从WAWSDeploy部署时(通过查看Azure Function应用程序日志)。这似乎不是WAWSDeploy问题,但看起来Visual Studio发布功能正在做我遗漏的事情。有什么想法吗?

Azure功能文件的文件夹结构:

共有3个答案

吕学
2023-03-14

我遇到了同样的问题,

我删除了bin和obj文件夹并重新构建了项目,然后它完美地工作。

储国发
2023-03-14

我遇到了类似的问题,最终设法找到了根本原因。你可以解决这个问题,但是把它放在这里给其他面临这个问题的人。

确保您在Function App的. csproj中拥有以下元素块

<None Update="host.json">
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>

当我从项目中排除host.json,然后再次创建一个时,我遇到了这个问题(在意识到这是肯定需要的之后)。

valid .csproj 应如下所示

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>net461</TargetFramework>
  </PropertyGroup>

  ...
  ...
  ...

  <ItemGroup>
    <None Update="host.json">
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
    </None>
    <None Update="local.settings.json">
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
      <CopyToPublishDirectory>Never</CopyToPublishDirectory>
    </None>
  </ItemGroup>
</Project>

希望添加它将解决此问题。如果这有助于:)

郑理
2023-03-14

问题是由< code>function.json文件中的< code>scriptFile值不正确引起的。当我从Visual Studio发布Azure函数时,此值设置正确,但当我手动构建Azure函数并将文件推送到Azure函数应用程序时,< code>scriptFile值在我的函数dll文件的路径中缺少< code>bin文件夹。在我的构建过程中,我现在修改了< code>scriptFile值以正确设置它。

 类似资料:
  • 我正在运行本地m/c代码。 在上面的代码中,我试图在条目上触发Topic的订阅。 但当我运行代码时,它给了我一个错误 找不到函数。尝试公开作业类和方法 我在public Function类中尝试了相同的方法,但不起作用。 但是当我将ServiceBusTrigger更改为QueueTrigger时,它起作用了。 我已经正确设置了下面的配置。 我哪里说错了?

  • 当我尝试在Linux(Ubuntu 18.04)中构建azure函数时,返回错误。以下是我在从git克隆存储库process.After中遵循的步骤。 在输出返回之后, 下面是关于我的系统的信息,

  • 我正在探索在上运行函数应用程序。这是我到目前为止所做的。 下面是新的< code>Program类,它取代了< code>Startup类: 我还有一个非常简单的HTTP触发函数: 我已经修改了我的 ,以指示函数必须在隔离模式下运行: 我使用以下参数启动函数: 问题 当我启动应用程序时,我收到以下警告消息: 我相信我在处于隔离进程中。我错过了什么? 更新 以下是版本信息:

  • 首先,我已经看了其他有同样错误信息的SO帖子,似乎没有一个能解决我的问题。我尝试了许多排列和选择。我的函数构建得很好,但是不能在CLI中运行,我得到了以下神秘的错误。MSFT文档似乎也没有答案。 未找到作业函数。试着公开你的作业类和方法。如果您使用的是绑定扩展(例如ServiceBus、定时器等),请确保在启动代码中调用了扩展的注册方法(例如config.UseServiceBus(),confi

  • 我已经创建了一个.Net 5 Azure函数应用程序项目,并使用程序.cs文件遵循隔离过程,并且它工作正常。现在我想将框架版本从dotnet 5.0更改/升级到6.0,因此更改了项目属性页中的版本,并更改了csproj文件中的版本。并将属性也从 Function 更改为 FunctionName,但它在运行时在 cmd 中显示以下错误。 添加它显示以下进程窗口超过 1 小时,当我运行我的解决方案。

  • 我很感激有几个这样的问题,但我很确定我已经经历了一切,已经到了“到底是什么”的地步。 我在Azure上推出了一个v3函数,但是没有成功地将这个函数发布到.....功能。我担心Azure CLI任务会破坏一些东西。 我函数的启动是: 以及其中的函数: 我相当确定我已经安装了所有的软件包。通过网络浏览到函数似乎是可以的。 Log Analytics 的自定义日志中也不会显示任何内容。不过,该表确实已创