Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Azure WebJob脚手架失败_Azure_Webjob - Fatal编程技术网

Azure WebJob脚手架失败

Azure WebJob脚手架失败,azure,webjob,Azure,Webjob,WebJob正在我的本地计算机上运行。部署到应用程序服务后,WebJob的状态始终为“Restart pending”,并附加以下日志 [01/13/2020 16:04:03 > 8578d0: SYS INFO] Status changed to Starting [01/13/2020 16:04:03 > 8578d0: SYS INFO] WebJob singleton setting is False [01/13/2020 16:04:05 > 8578d0:

WebJob正在我的本地计算机上运行。部署到应用程序服务后,WebJob的状态始终为“Restart pending”,并附加以下日志

[01/13/2020 16:04:03 > 8578d0: SYS INFO] Status changed to Starting
[01/13/2020 16:04:03 > 8578d0: SYS INFO] WebJob singleton setting is False
[01/13/2020 16:04:05 > 8578d0: SYS INFO] Run script 'dotnet-aspnet-codegenerator-design.exe' with script host - 'WindowsScriptHost'
[01/13/2020 16:04:05 > 8578d0: SYS INFO] Status changed to Running
[01/13/2020 16:04:06 > 8578d0: INFO] [Trace]: Command Line: 
[01/13/2020 16:04:06 > 8578d0: INFO] [Trace]:    at System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)
[01/13/2020 16:04:06 > 8578d0: INFO]    at System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info)
[01/13/2020 16:04:06 > 8578d0: INFO]    at Microsoft.VisualStudio.Web.CodeGeneration.Design.Program.<>c__DisplayClass4_0.<<Execute>b__0>d.MoveNext()
[01/13/2020 16:04:06 > 8578d0: ERR ] Scaffolding failed.
[01/13/2020 16:04:06 > 8578d0: ERR ] Value cannot be null.
[01/13/2020 16:04:06 > 8578d0: ERR ] Parameter name: String
[01/13/2020 16:04:07 > 8578d0: SYS INFO] Status changed to Success
[01/13/2020 16:04:07 > 8578d0: SYS INFO] Process went down, waiting for 60 seconds
[01/13/2020 16:04:07 > 8578d0: SYS INFO] Status changed to PendingRestart
[01/13/2020 16:04:03>8578d0:SYS INFO]状态更改为启动
[01/13/2020 16:04:03>8578d0:SYS INFO]WebJob单例设置为False
[01/13/2020 16:04:05>8578d0:SYS INFO]使用脚本主机“WindowsScriptHost”运行脚本“dotnet aspnet codegenerator design.exe”
[01/13/2020 16:04:05>8578d0:SYS INFO]状态更改为正在运行
[01/13/2020 16:04:06>8578d0:INFO][Trace]:命令行:
[01/13/2020 16:04:06>8578d0:INFO][Trace]:在System.Number.StringToNumber(字符串str、NumberStyles选项、NumberBuffer和Number、NumberFormatInfo、Boolean parseDecimal)
[01/13/2020 16:04:06>8578d0:INFO]位于System.Number.ParseInt32(字符串s、NumberStyles样式、NumberFormatInfo信息)
[01/13/2020 16:04:06>8578d0:INFO]在Microsoft.VisualStudio.Web.CodeGeneration.Design.Program.c_uuDisplayClass4_0.d.MoveNext()上
[01/13/2020 16:04:06>8578d0:ERR]脚手架失败。
[01/13/2020 16:04:06>8578d0:ERR]值不能为空。
[01/13/2020 16:04:06>8578d0:ERR]参数名称:字符串
[01/13/2020 16:04:07>8578d0:SYS INFO]状态更改为成功
[01/13/2020 16:04:07>8578d0:SYS INFO]进程停止,等待60秒
[01/13/2020 16:04:07>8578d0:SYS INFO]状态更改为PendingRestart
由于脚手架依赖于NuGet,因此下面是为项目定义的NuGet依赖项

  <ItemGroup>
    <PackageReference Include="EntityFramework" Version="6.2.0" />
    <PackageReference Include="log4net" Version="2.0.8" />
    <PackageReference Include="Microsoft.Azure.WebJobs.Extensions.Storage" Version="3.0.10" />
    <PackageReference Include="Microsoft.CodeAnalysis.CSharp.Workspaces" Version="3.4.0" />
    <PackageReference Include="Newtonsoft.Json" Version="12.0.2" />
    <PackageReference Include="System.IO.Compression" Version="4.3.0" />
    <PackageReference Include="System.Spatial" Version="5.8.4" />
    <PackageReference Include="Microsoft.Data.Edm" Version="5.8.4" />
    <PackageReference Include="Microsoft.Data.OData" Version="5.8.4" />
    <PackageReference Include="Microsoft.Data.Services.Client" Version="5.8.4" />
    <PackageReference Include="Microsoft.WindowsAzure.ConfigurationManager" Version="3.2.1" />
    <PackageReference Include="Microsoft.Azure.WebJobs.Core" Version="3.0.14" />
    <PackageReference Include="Microsoft.Azure.WebJobs" Version="3.0.14" />
    <PackageReference Include="Microsoft.Azure.KeyVault.Core" Version="1.0.0" />
    <PackageReference Include="WindowsAzure.Storage" Version="9.3.3" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="2.2.0" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="2.2.0" />
    <PackageReference Include="Microsoft.Extensions.Configuration" Version="2.2.0" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="2.2.0">
      <PrivateAssets>all</PrivateAssets>
      <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
    </PackageReference>
  </ItemGroup>

全部的
运行时间;建设;本地人;内容文件;分析仪
以及项目定义

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>net472</TargetFramework>
    <RuntimeIdentifier>win7-x64</RuntimeIdentifier>
    <GenerateSupportedRuntime>false</GenerateSupportedRuntime>  
    <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
    <Platforms>AnyCPU;x64</Platforms>
    <RootNamespace>xxx.WebJob</RootNamespace>
  </PropertyGroup>

Exe
网络472
win7-x64
假的
真的
任意CPU;x64
xxx.WebJob
Azure.WebJobs 2.x也有同样的问题,确实升级到了3.x,但没有任何积极的结果。WebJob的主要方法

public static async Task Main()
{
    var hostBuilder = new HostBuilder()
        .ConfigureWebJobs(conf => conf.AddAzureStorage())
        // custom name resolver to pickup runtime information (dev/test/prod)
        .ConfigureServices(services => services.AddSingleton<INameResolver, AppSettingsResolver>())
        // set the config file to read azure configurations.
        .ConfigureAppConfiguration((context, builder) => builder.SetBasePath(Directory.GetCurrentDirectory())
        .AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
        .AddEnvironmentVariables());

    using (var host = hostBuilder.Build())
        await host.RunAsync();
}
公共静态异步任务Main() { var hostBuilder=new hostBuilder() .ConfigureWebJobs(conf=>conf.AddAzureStorage()) //获取运行时信息的自定义名称解析器(dev/test/prod) .ConfigureServices(服务=>services.AddSingleton()) //将配置文件设置为读取azure配置。 .ConfigureAppConfiguration((上下文,生成器)=>builder.SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile(“appsettings.json”,可选:false,reloadOnChange:true) .AddenEnvironmentVariables()); 使用(var host=hostBuilder.Build()) 等待host.RunAsync(); }
在我看来,这是因为您应该使用.NET Core,但TargetFramework是NET Framework 4.7.2

是否可以尝试从中替换以下属性组:

<PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>net472</TargetFramework>
    <RuntimeIdentifier>win7-x64</RuntimeIdentifier>
    <GenerateSupportedRuntime>false</GenerateSupportedRuntime>  
    <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
    <Platforms>AnyCPU;x64</Platforms>
    <RootNamespace>xxx.WebJob</RootNamespace>
  </PropertyGroup>

Exe
网络472
win7-x64
假的
真的
任意CPU;x64
xxx.WebJob


netcoreapp2.2
过程中

我担心引用的.NET Framework库将无法再链接。我会努力的我想这就是问题所在。。。如果我错了,请纠正我,但使用“我创建了一个dotnet核心,另一个使用.net framework(4.7.2)csproj是不同的。您发布的是dotnet核心,这就是为什么我认为这可能是问题的原因感谢@thiago custodio,这起了作用。WebJob可在Azure上执行。
  <PropertyGroup>
    <TargetFramework>netcoreapp2.2</TargetFramework>
    <AspNetCoreHostingModel>InProcess</AspNetCoreHostingModel>
  </PropertyGroup>