C# 局部视图和#x2018;Enum.cshtml’;从项目中排除实现时效果很好(包括实现时会生成编译错误)

C# 局部视图和#x2018;Enum.cshtml’;从项目中排除实现时效果很好(包括实现时会生成编译错误),c#,asp.net-mvc,enums,asp.net-mvc-5,C#,Asp.net Mvc,Enums,Asp.net Mvc 5,有没有人可以解释为什么[enum.cshtml的两个部分视图都不是项目的一部分(不包括!)时,文章[enum]中建议的“enum实现”可以工作 解释 目前,我正在使用MVC 5.2.1建立一个新项目。在这个项目中,和其他许多项目一样,我必须使用枚举,更准确地说,是带有显示属性的枚举。在当前版本中,幸运的是,我们不必添加枚举帮助器(正如我在K.Scott Allen的“教程”ASP.NET MVC 5 Basic中所做的那样)(第6章实体框架,夹式脚手架,免费评估)[关于PluralSight。

有没有人可以解释为什么[enum.cshtml的两个部分视图都不是项目的一部分(不包括!)时,文章[enum]中建议的“enum实现”可以工作

解释

目前,我正在使用MVC 5.2.1建立一个新项目。在这个项目中,和其他许多项目一样,我必须使用枚举,更准确地说,是带有显示属性的枚举。在当前版本中,幸运的是,我们不必添加枚举帮助器(正如我在K.Scott Allen的“教程”ASP.NET MVC 5 Basic中所做的那样)(第6章实体框架,夹式脚手架,免费评估)[关于PluralSight。 使用想象中的枚举,在这个版本的MVC中,在几个创建视图上,开箱即用的弹出窗口,EditorFor扩展已经与新的EnumDropDownList扩展进行了交换。到目前为止,一切都很好! 在这个特定的部分,不需要再设置扩展方法,比如EnumHelper,很好。 然而…,由于其他几位成员已经提到,在索引或编辑视图上显示这些想象中的枚举时遇到了一些问题,我想当然地接受了他们的提示,并在代码项目上遵循了这篇文章[马上。将我从K.Scot Allen的剪辑中学到的知识与Shahriar Hossain发布的内容进行比较,结果发现这两个方向都不起作用。在Scot Allen的剪辑之后,他的手动配置的EnumHelper没有以编程方式被触动,另一方面,在Shahriar post之后,它出现了诸如无法找到t之类的错误他在编译时使用enum.cshtml。 从时间顺序的角度来看,我的“水”告诉我,沙里亚尔的尖端必须以这种或那种方式工作,所以……显然还有其他东西是“不在sinc”

解决方案(解决方案类型)

最后,我发现(然而,我最讨厌的是仅仅通过试错达到某些目标,而不知道我在做什么)我必须从项目中排除两个部分视图(在两个模板文件夹中;在DisplayTemplates中——以及EditorTemplates中)以使其工作

因此,部分视图“Enum.cshtml”的实现在被排除在项目之外的情况下工作得很好(但是被包含在其中会产生编译错误)。可能这个试错提示会帮助其他面临类似问题的人

有没有人可以解释为什么建议的“enum实现”可以工作,而enum.cshtml的两个部分视图都不是项目的一部分(不包括!)


您是否尝试清理项目…打开project con VS,然后右键单击它。然后选择“清理”。据我所知,这似乎不太可能,RazorViewEngine在运行时查找模板。它不使用项目文件。当然,我清理了几次,但我执行的清理有点不同(标准)方式:构建(菜单)>清理:检查输出。在我看来,@Hackerman步骤和我过去练习的步骤不太可能有区别。好吧,只有当Enum.cshtml都被排除在项目之外时,它才起作用,我帮不上忙,我无法从中获得“法式薯条”!让我们假设您的项目名称是
Myawesome网站
。现在在yo你的
bin
文件夹找到
MyAwesomeWebSite.dll
并删除它…现在重建你的项目。是的…我完全相信智利也有高水平的专业人士!