带有Nancy和.NET Core 2.0的FluentValidator不调用验证器

时间:2018-10-22 15:39:47

标签: .net-core asp.net-core-webapi nancy fluentvalidation fluentvalidation-2.0

我试图在使用nancyfx构建的Rest Service项目中使用FluentValidators进行模型验证。 我有从AbstractValidator继承的验证器类,但有一些从未调用过验证规则的方法。

public class OrderValidator : AbstractValidator<Order>
    {
        public OrderValidator()
        {                
            RuleFor(_ => _.Id).Must(x => x?.Id> 0);
        }
    }

我尝试在Internet上查找,发现我的服务启动项目中可能缺少类型扫描代码。但是当我编写下面的代码时,它给了我一个编译错误:

  AppDomainAssemblyTypeScanner.AddAssembliesToScan("order-app.dll");

我的服务项目设置具有以下依赖性:

  1. Project Target framework = .Net Core 2.0
  2. FluentValidation版本6.2.1
  3. 城堡核心版本4.1.1
  4. 城堡温莎4.0.0版
  5. 南希版本2.0.0-clinteastwood
  6. Nancy.Owin版本2.0.0-clinteastwood
  

使用以下命令还原了软件包“ Nancy.Owin 2.0.0-clinteastwood”   “ .NETFramework,Version = v4.6.1”,而不是项目目标框架   “ .NETCoreApp,版本= v2.0”。该软件包可能不完全兼容   与您的项目。

  1. Nancy.Bootstrappers.Windsor Versoin 2.0.0-clinteastwood
  

(软件包'Nancy.Bootstrappers.Windsor   使用'.NETFramework,Version = v4.6.1'而不是项目目标框架'.NETCoreApp,Version = v2.0'恢复了2.0.0-clinteastwood'。   该软件包可能与您的项目不完全兼容。)

如果我项目的目标框架是.Net 4.6.1,则上述代码可以正常工作。 我是否缺少需要在.net core 2.0的服务引导程序中添加的配置代码?

0 个答案:

没有答案