我目前正在尝试ASP.NET Core 1.0 RC2.我已将其创建为.NET Framework项目(而不是.NET Core项目),并使用.NET Framework 4.5通过项目引用添加了对Models库的引用:
"frameworks": { "net46": { "dependencies": { "Project.Core": { "target": "project" },"Project.DataAccess": { "target": "project" },"Project.Encryption": { "target": "project" },"Project.Models": { "target": "project" },"Project.Resources": { "target": "project" } } } },
@model System.Collections.Generic.List<Project.Models.User> The type or namespace name 'Project' could not be found (are you missing a using directive or an assembly reference?) public class _Views_Home_Index_cshtml : Microsoft.AspNetCore.Mvc.Razor.RazorPage<System.Collections.Generic.List<Project.Models.User>> The type or namespace name 'Project' could not be found (are you missing a using directive or an assembly reference?) public Microsoft.AspNetCore.Mvc.Rendering.IHtmlHelper<System.Collections.Generic.List<Project.Models.User>> Html { get; private set; }
它还显示在intellisense中:无法解析标签’Project.Models.User’并且无法解析符号’model’
解决方法
这是RC2
with an open issue中的一个错误.问题讨论中的
workaround对我有用:
services.AddMvc() .AddRazorOptions(options => { var prevIoUs = options.CompilationCallback; options.CompilationCallback = context => { prevIoUs?.Invoke(context); context.Compilation = context.Compilation.AddReferences(MetadataReference.CreateFromFile(typeof(MyClass).Assembly.Location)); }; });
在您的示例中,您需要为Project.Models.User执行此操作.
不确定是否4.6.1 and Update 2 is needed for both projects,我只是尝试过.