无法加载类型“FluentValidation.Attributes.ValidatorAttribute”。

3

系统类型加载异常:无法从程序集 'FluentValidation, Version=9.0.0.0, Culture=neutral, PublicKeyToken=7de548da2fbae0f0' 加载类型 'FluentValidation.Attributes.ValidatorAttribute'。

我在从 .netcore2 升级到 .netcore6 后遇到了上述错误。我尝试升级到最新的 10.x,但没有成功。同时,在错误中提到的版本号 9.0.0 并没有相应的 Nuget 包,只有 9.0.1 可用,但同样会出现相同的错误。


降级软件包 我的问题是,我安装了最新版本,但当我降级到以前的主要版本时,它可以正常工作。 - hosam hemaily
1个回答

3
从FluentValidation 8.0版本开始,ValidatorAttribute已经被移动到一个单独的NuGet包FluentValidation.ValidatorAttribute中。
文档中可知:

不再建议使用ValidatorAttribute来连接验证器,并且已将其移动到单独的FluentValidation.ValidatorAttribute包中。

请注意,不再建议使用该属性,甚至被视为遗留代码。
因此,该NuGet包具有以下通知。

此软件包已被弃用,因为它是遗留代码,不再维护。

文档展示了如何进行迁移
  • 在ASP.NET Core项目中,应使用服务提供程序将模型连接到其验证器(自FluentValidation 7以来,这已经是ASP.NET Core项目的默认行为)
  • 对于桌面或移动应用程序,我们建议使用IoC容器来连接验证器,尽管您仍然可以通过显式安装FluentValidation.ValidatorAttribute包来使用属性方法。
  • 在旧版ASP.NET项目(MVC 5和WebApi 2)中,ValidatorAttribute仍然是默认方法,并且为了兼容性将自动安装FluentValidation.ValidatorAttribute包。但是,如果可以的话,我们建议使用IoC容器。

版本11无法工作,版本10正常运行。 - hosam hemaily

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接