ASP.NET Core 2.0 Azure Webjobs SDK 添加项目引用抛出异常

ASP.NET Core 2.0 Azure Webjobs SDK adding project reference throws exception

现在 asp.net 核心 2.0 已经推出,我开始测试新的 azure webjobs sdk。一切正常,但是当我添加项目引用(netstandard 2.0 class 库)时,我得到了这个异常。

堆栈跟踪:

System.MissingMethodException occurred HResult=0x80131513 Message=Method not found: 'System.Collections.Generic.Dictionary2<System.String,System.Object> Microsoft.Extensions.Configuration.IConfigurationBuilder.get_Properties()'. Source=<Cannot evaluate the exception source> StackTrace: at Microsoft.Extensions.Configuration.FileConfigurationExtensions.GetFileProvider(IConfigurationBuilder builder) at Microsoft.Extensions.Configuration.FileConfigurationSource.EnsureDefaults(IConfigurationBuilder builder) at Microsoft.Extensions.Configuration.Json.JsonConfigurationSource.Build(IConfigurationBuilder builder) at Microsoft.Extensions.Configuration.ConfigurationBuilder.Build() at Microsoft.Azure.WebJobs.Host.ConfigurationUtility.BuildConfiguration() at System.Lazy1.ViaFactory(LazyThreadSafetyMode mode) at System.Lazy1.ExecutionAndPublication(LazyHelper executionAndPublication, Boolean useDefaultConstructor) at System.Lazy1.CreateValue() at Microsoft.Azure.WebJobs.Host.ConfigurationUtility.get_Configuration() at Microsoft.Azure.WebJobs.Host.ConfigurationUtility.GetSettingFromConfigOrEnvironment(String settingName) at Microsoft.Azure.WebJobs.JobHostConfiguration..ctor(String dashboardAndStorageConnectionString) at Microsoft.Azure.WebJobs.JobHostConfiguration..ctor() at CommunicationsProcessor.Program.Main(String[] args) in C:\Users\RugerTek\Documents\Projects\facturas\CommunicationsProcessor\Program.cs:line 13

提前致谢!

我这边也测试过。但我无法重现该问题。这是我所做的步骤。

第 1 步,创建 .NET Core 2.0 控制台应用程序。 第 2 步,使用以下命令安装 Microsoft.Azure.WebJobs 3.0.0-beta1-10941。

Install-Package Microsoft.Azure.WebJobs -Version 3.0.0-beta1-10941 

第 3 步,向项目添加 2 classes。

class Program
{
    static void Main(string[] args)
    {
        Environment.SetEnvironmentVariable("AzureWebJobsDashboard", "mystorage-connectionstring");
        Environment.SetEnvironmentVariable("AzureWebJobsStorage", "mystorage-connectionstring");
        var config = new JobHostConfiguration();

        if (config.IsDevelopment)
        {
            config.UseDevelopmentSettings();
        }

        var host = new JobHost(config);
        host.RunAndBlock();
    }
}

public class Functions
{
    public static void ProcessQueueMessage([QueueTrigger("myqueue")] string message, TextWriter log)
    {
        log.WriteLine(message);
    }
}

第 4 步,创建名为 ALibrary 的 .NET Standard 2 class 库。我的 class 库中只有一个简单类型。

public class Class1
{
    public string Property1 { get; set; }
}

第 5 步,添加对 class 库的引用。

第 6 步,构建并 运行 我的控制台应用程序 (WebJob)。如果我向队列中添加一条消息,我可以从控制台获得正确的输出 window。

请比较我和你的步骤,如果有差异,请post。