我有一个简单的领域模型在外部程序集中。该模型使用DTO与几个服务类进行通信,但没有使用Entity Framework。 在Visual Studio 2012中,我可以在"添加视图"对话框中选择我的DTO,并为它们生成强类型视图。 然而,在Visual Studio 2013中,DTOs并未显示在"添加视图"对话框中。 我手动创建的强类型视图可以正常工作,因此问题不是Razor/MVC无法看到或使用我的DTOs,问题只出现在脚手架中。 如果有任何帮助,将不胜感激。
因此,您的DTO存在于项目命名空间或.Models命名空间之外的某个位置。下拉菜单会倾向于从那里提取用于强类型视图的类。我意识到您的DTO可能存储在另一个程序集中,而您的解决方法是什么,但是否有一种方法将它们重新编译到其他程序集中的MvcDemo.Models命名空间中,并在MVC项目中的models命名空间中声明部分类?这可能不是理想的答案,如果您不喜欢这个想法,我很乐意删除我的答案。