gpt4 book ai didi

c# - Ninject.Web.Mvc.FluentValidation 和 FluentValidation.MVC4

转载 作者:行者123 更新时间:2023-12-03 08:09:56 32 4
gpt4 key购买 nike

我已经尝试在我的 ASP.NET MVC4 项目中设置 Ninject.Web.Mvc.FluentValidation如下图:

var ninjectValidatorFactory = new NinjectValidatorFactory(kernel);
//ModelValidatorProviders.Providers.Add(new FluentValidationModelValidatorProvider(new NinjectValidatorFactory(kernel)));
FluentValidationModelValidatorProvider.Configure(x => x.ValidatorFactory = ninjectValidatorFactory);

DataAnnotationsModelValidatorProvider.AddImplicitRequiredAttributeForValueTypes = false;

但我收到以下错误:

Error   1   The type 'FluentValidation.ValidatorFactoryBase' is defined in an assembly that is not referenced. You must add a reference to assembly 'FluentValidation, Version=2.0.0.0, ...

Error 2 Cannot implicitly convert type 'Ninject.Web.Mvc.FluentValidation.NinjectValidatorFactory' to 'FluentValidation.IValidatorFactory'. An explicit conversion exists (are you missing a cast?)

我可以看到 Ninject.Web.Mvc.FluentValidation 的 NuGet 包是版本 3.0.0.0并且错误告诉我它正在寻找 FluentValidation 的版本 2 作为其依赖项。

如果我仅为 Ninject.Web.Mvc.FluentValidation 安装 NuGet 包,那么它会安装 FluentValidation v2 依赖项而不是版本 3.4.6

但我也可以在这里看到:https://github.com/ninject/ninject.web.mvc.fluentvalidation/commit/82096d0afd15c41d01c09fd47f4247682261768e关于正在为版本 3.4.6 更新的项目的注释

我目前正在使用 NuGet 将 FluentValidation.MVC4 包添加到我的项目中,然后在它之后添加 Ninject.Web.Mvc.FluentValidation(它发现它的依赖项已经存在并且没有添加它)。

我可以看到 NuGet 包最后发布于 2013 年 4 月 1 日,但是当我查看我项目中的 .nuspec 文件时,它显示

<dependency id="FluentValidation" version="3.2.0.0" />

我在这个设置中做错了什么吗?或者我可以通过包管理器控制台来更新依赖版本的方法?

最佳答案

更新:这是因为 Ninject.Web.Mvc.FluentValidation 使用的是强命名的 FluentValidation 签名版本.

David Ebbo 在这里发表了一篇关于强名称和绑定(bind)重定向的好文章 http://blog.davidebbo.com/2011/01/nuget-versioning-part-3-unification-via.html

我仍然没有费心这样做来解决我的问题,NuGet 包只有 1 个类,即 NinjectValidatorFactory,所以值得自己实现。


为了暂时解决我的问题,我已将 NinjectValidatorFactory 类放入我自己的项目中。在我看来,当前的 NuGet 包在使用 FluentValidation 3.4.6 之前需要进一步更新。

关于c# - Ninject.Web.Mvc.FluentValidation 和 FluentValidation.MVC4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15753892/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com