AzureWebJobscriptrot变量未在Azure函数上定义,但在本地返回正确的值

AzureWebJobscriptrot变量未在Azure函数上定义,但在本地返回正确的值,azure,azure-functions,Azure,Azure Functions,Azure函数上未定义AzureWebJobscriptrot变量。下面的代码不返回任何值。 System.Environment.GetEnvironmentVariables(EnvironmentVariableTarget.Process)[“AzureWebJobsScriptRoot”] 但是,%HOME%\site\wwwroot将根据以下内容返回: AzureWebJobscriptrout host.json文件和函数文件夹所在的根目录的路径。在函数应用程序中,默认值为%HO

Azure函数上未定义AzureWebJobscriptrot变量。下面的代码不返回任何值。
System.Environment.GetEnvironmentVariables(EnvironmentVariableTarget.Process)[“AzureWebJobsScriptRoot”]

但是,
%HOME%\site\wwwroot
将根据以下内容返回:

AzureWebJobscriptrout

host.json文件和函数文件夹所在的根目录的路径。在函数应用程序中,默认值为%HOME%\site\wwwroot

关键样本值

AzureWebJobscriptroot%HOME%\site\wwwroot

它在本地返回正确的值,而不是%HOME%\site\wwwroot

更新

这是Azure函数的bug吗

如果是,还有什么替代方案

在Microsoft解决此问题之前,是否可以将此变量(
AzureWebJobscriptroot
)定义为Azure上的
%HOME%\site\wwwroot”


我在我的网站上测试,你也会遇到同样的问题。如上所述,在Azure中运行时,将默认为
%HOME%\site\wwwroot
,并在
HOME\site\wwwroot
下设置函数文件夹

但是,当我在Azure funtion
应用程序设置中设置AzureWebJobscriptrot
时,它将显示在输出中,如下所示:


我在我的网站上测试,你也会遇到同样的问题。如上所述,在Azure中运行时,将默认为
%HOME%\site\wwwroot
,并在
HOME\site\wwwroot
下设置函数文件夹

但是,当我在Azure funtion
应用程序设置中设置AzureWebJobscriptrot
时,它将显示在输出中,如下所示:


如果您为AzureWebJobscriptrot
配置了不同值的函数应用程序,则函数主机应接受该新值。例如,如果设置
azurewebjobscriptroot=D:\home\site\wwwroot\foo
,则函数主机将在D:\home\site\wwwroot\foo位置查找host.json文件和函数目录

默认情况下,未设置此环境变量。因此,如果您没有自己设置,那么
System.Environment.GetEnvironmentVariable(“AzureWebJobscriptrot”)
将返回null

请注意,如果修改此设置,其他组件(如门户、visual studio、visual studio代码等)将不知道该设置,并将代码部署到正常的默认位置。如果您想自定义此设置,则由您来确保将应用程序代码部署到正确的位置


请参阅完整详细信息

如果您为AzureWebJobscriptrot配置了一个不同值的函数应用程序,那么函数主机应该接受该新值。例如,如果设置
azurewebjobscriptroot=D:\home\site\wwwroot\foo
,则函数主机将在D:\home\site\wwwroot\foo位置查找host.json文件和函数目录

默认情况下,未设置此环境变量。因此,如果您没有自己设置,那么
System.Environment.GetEnvironmentVariable(“AzureWebJobscriptrot”)
将返回null

请注意,如果修改此设置,其他组件(如门户、visual studio、visual studio代码等)将不知道该设置,并将代码部署到正常的默认位置。如果您想自定义此设置,则由您来确保将应用程序代码部署到正确的位置


请参阅完整的详细信息

我认为这是一个bug。这个变量是系统变量,它必须存在并且不能由用户定义。你应该在OP上使用我的链接,你的链接已经过时。我认为这是一个bug。这个变量是系统变量,它必须存在并且不能由用户定义。你应该在OP上使用我的链接,你的链接已经过时。你不认为这是Azure函数的错误吗?该变量在本地返回正确的值,但在Azure函数中没有定义该变量的文档默认值:根据您所说的更改该变量的值将导致门户、VS等出现问题,Microsoft应明确说明,至少在其官方文档中记录该变量,并且应该建议不要更改它。你不认为这是Azure功能的一个bug吗?该变量在本地返回正确的值,但在Azure函数中没有定义该变量的文档默认值:根据您所说的更改该变量的值将导致门户、VS等出现问题,Microsoft应明确说明,至少在其官方文档中记录该变量,并且应该建议不要改变它。