0

我正在尝试在控制台应用程序中做一件非常简单的事情:

using Microsoft.Azure.WebJobs.Extensions.Timers;
using NCrontab;
using System;

namespace ConsoleApp3
{
    class Program
    {
        static void Main(string[] args)
        {
            var nCrontabSchedule = CrontabSchedule.Parse("5 4 * * * *");
        }
    }
}

但它给了我这个错误:

Severity    Code    Description Project File    Line    Suppression State
Error   CS0433  The type 'CrontabSchedule' exists in both 'NCrontab.Signed, Version=3.2.20120.0, Culture=neutral, PublicKeyToken=5247b4370afff365' and 'NCrontab, Version=3.2.20120.0, Culture=neutral, PublicKeyToken=null'    ConsoleApp3 C:\Users\bowmanzh\source\repos\ConsoleApp3\Program.cs   12  Active

它甚至没有完成编译!我很难理解这里发生了什么,我只想用一个简单的东西。

为什么这里会出现版本冲突?事实上,我引用了两个包,这是我的 .csproj 文件:

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>netcoreapp3.1</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.Azure.WebJobs.Extensions" Version="3.0.6" />
    <PackageReference Include="NCrontab" Version="3.2.0" />
  </ItemGroup>

</Project>

我已经用谷歌搜索了,他们说的是 Aliases 之类的东西,但实际上在我这边它没有这个属性。

我已经尝试过:

using v2 = NCrontab;
using System;
using Microsoft.Azure.WebJobs.Extensions.Timers;

namespace ConsoleApp3
{
    class Program
    {
        static void Main(string[] args)
        {
            v2.CrontabSchedule nCrontabSchedule = v2.CrontabSchedule.Parse("5 4 * * *");
        }
    }
}

但它没有用。

我怎么解决这个问题?

非常感谢您花时间检查!

4

1 回答 1

1

我遇到了同样的问题。尝试卸载 NCrontab nuget 包并安装 NCrontab.Signed。这为我解决了这个问题。

于 2020-09-03T22:31:38.997 回答