我有一个正在发布到应用程序服务的Azure WebJob。我遇到的问题是,我想以x86平台为目标,但当我发布WebJob并附加到应用程序服务时,它总是被列为x64。
我将所有解决方案配置的平台目标都设置为x86。只有一个解决方案平台。我甚至在发布scipt中将RuntimeIdentifier设置为"win7-x86“。我不知道我可能会错过什么。
应用程序服务在应用程序设置中设置为在32位平台上运行。
发布于 2018-01-05 17:21:08
你的web应用的默认工作进程是32-bit。为了检查您的web应用程序的当前环境,您可以利用KUDU。
对于32位平台:

对于64位平台:

您可以访问https://{your-app-name}.scm.azurewebsites.net/Env.cshtml的详细信息。
对于you作业,您可以使用进程资源管理器,如下所示:
对于32位平台:

对于64位平台:

一般来说,我建议您删除现有的webjob并重新部署它,然后使用kudu检查环境以缩小此问题。
发布于 2021-03-26 10:59:27
没有直接的方法可以从Azure门户或KUDU控制台找到Webjob进程位。要确定它,您需要手动从KUDU收集内存转储,这篇博客介绍了它的http://jsandersblog.azurewebsites.net/2017/02/02/how-to-get-a-full-memory-dump-in-azure-app-services/
为Webjob进程收集内存转储后,您需要在Windbg中打开它并运行以下命令:
以下是检查进程位的命令:
0:000> !peb
NUMBER_OF_PROCESSORS=4
PROCESSOR_ARCHITECTURE=x86
WEBSITE_COMPUTE_MODE=Dedicated
WEBSITE_SKU=PremiumV2
0:000> .effmach
Effective machine: x86 compatible (x86)或者,您可以在Visual studio中打开(只需拖放)转储文件,以查看以下信息:

因此,Webjob被认为是以x86 bit运行的。
在我的例子中,我想运行它的x64位,并且这个WebJob是通过VSTS构建的管道部署的,并且缺少平台参数。在将其设置为x64之后,Webjob现在成功地运行了x64位。

https://stackoverflow.com/questions/48083110
复制相似问题