在WebJob中使用.NET Core 2.0库定向.NET Framework 4.7

时间:2017-08-30 00:30:30

标签: .net .net-core azure-webjobs

我有一堆在.NET Core 2.0中创建的类库,我想在我正在创建的新WebJobs项目中使用它。 WebJobs项目的目标是.NET Framework 4.7。

当我尝试引用它们时,我收到的错误是:

  

使用标识装配'MyNetCore20Library'...使用'System.Runtime,   版本= 4.2.0.0 ...其版本高于引用的程序集   带有标识'System.Runtime,Version = 4.1.2.0的'System.Runtime',   Culture = neutral,PublicKeyToken = b03f5f11d50a3a'

知道如何在新的WebJobs项目中使用我的.NET Core 2.0库吗?

P.S。不幸的是,我们还不能在.NET Core中创建WebJobs,这就是为什么我要尝试混合和匹配两个框架。不是疯了,但我应该能够做到。

1 个答案:

答案 0 :(得分:2)

根据您的描述,我建议您尝试使用net core2.0控制台应用程序来创建Web作业。

1.处理net core 2.0项目。

然后从Nuget Package manager安装Microsoft.Azure.WebJobs(3.0.0-beta2)。

Here's an example

2.更改控制台应用程序的主要方法代码如下:

使用Microsoft.Azure.WebJobs; 使用系统; 使用System.IO;

namespace NetCore2Webjob
{
    class Program
    {
        static void Main(string[] args)
        {
            Environment.SetEnvironmentVariable("AzureWebJobsDashboard", "connection");
            Environment.SetEnvironmentVariable("AzureWebJobsStorage", "storage connection");
            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);
        }
    }
}

3.单击“发布”以发布控制台应用程序。

enter image description here

enter image description here

4.找到publishoutput文件夹并创建一个run.cmd文件。

使用记事本打开run.cmd并添加以下代码:

dotnet {yourporjectname}.dll

示例:

dotnet NetCore2Webjob.dll

5.将整个publishoutput文件夹压缩为zip文件。

6.打开webjobs门户并上传此zip。

enter image description here

7.等待Web应用程序安装了webjob

结果:

enter image description here