在我的解决方案中,我有一些项目,一个是我的MVC Core项目,另一个是包含MVC模型的类库。我一直在尝试将远程属性添加到我的某个模型属性中,如下所示。
[Required(ErrorMessage = "Username is required"),
StringLength(20, MinimumLength = 1,
ErrorMessage = "Username needs to be between 1 and 20 characters"),
RegularExpression("^[a-zA-Z0-9]+$", ErrorMessage = "Username can only contain letters and numbers")]
[Remote(action: "IsUsernameAvailable", controller: "Account")]
public string Username { get; set; }
问题是远程部分给我错误
类型或命名空间名称' Remote'找不到(你错过了使用指令或汇编引用吗?)
现在我很确定这个问题是由于在我的类库中的非MVC项目中进行检查而发生的,但这显然仍然有效。
我首先将MVC nuget添加到我的类库中,这解决了"无法找到"错误我进入我的模型,但是这导致了我的MVC核心视图中的问题,因为我的MVC项目引用了我的类库。因此,我卸载了MVC nuget以用MVC Core替换它,但这样做并没有解决模型问题"无法找到"错误,即使packages.config包含" Microsoft.AspNetCore.Mvc.Core"。
我用Google搜索发现RemoteAttribute类位于MVC.ViewFeautures文件夹中,而不是MVC Core代码中。我的MVC核心项目使用" Microsoft.AspNetCore.All" nuget,包含MVC和MVC Core,所以安装它应该可以解决问题,但是这样做会出现以下错误:
无法安装软件包' Microsoft.AspNetCore.All 2.0.8'。您正在尝试将此软件包安装到针对.NETFramework,Version = v4.6.1'的项目中,但该软件包不包含任何与该框架兼容的程序集引用或内容文件。有关更多信息,请与软件包作者联系。 0
我试图在项目中添加引用,但还没有找到任何可用的MVC引用。我也曾尝试在模型类中添加使用,但也没有帮助。感谢任何帮助。谢谢。