为什么我在我的解决方案中无法看到的类型中出现类型不匹配错误?

Pro*_*ofK 6 .net c# asp.net-mvc-4

我在我的编辑器模板中收到以下错误ApplicantAddressMode:

错误CS0019:运算符'!='无法应用于'Comair.RI.ViewModels.ApplicantAddressType'和'Comair.RI.Models.ApplicantTypesOfAddress'"}类型的操作数

这种类型Comair.RI.ViewModels.ApplicantAddressType无处可寻.对所有文件进行全局解决方案搜索仅ApplicantAddressType返回结果.我改变了枚举的名称Comair.RI.Models来自ApplicantAddressTypeApplicantTypesOfAddress尝试和避免无意的比赛,并清除掉了32位和64位ASP临时Internet文件,然而错误仍然存在在这条线的编辑模板:

@using Comair.RI.Models
@model Comair.RI.ViewModels.ApplicantAddressModel
@Html.ValidationSummary(true)
<fieldset>
    <legend>@Model.AddressTypeDescription</legend>
    <ul class="form-column">
        @if (Model.AddressType != ApplicantTypesOfAddress.Residential)
        {
Run Code Online (Sandbox Code Playgroud)

Model.AddressType 声明为:

[ScaffoldColumn(false)]
public ApplicantTypesOfAddress AddressType { get; set; }
Run Code Online (Sandbox Code Playgroud)

我在我的智慧结束时即将开始投掷燃烧,尖锐的旗帜,像IsResidentialStreetNumberIsPostalSuburb.我不认为救护车会在那之后很久就到达并带我去和平.

枚举声明是这样的:

namespace Comair.RI.Models
{
    public enum ApplicantTypesOfAddress
    {
        Residential,
        Postal
    }
}
Run Code Online (Sandbox Code Playgroud)

Pro*_*ofK 2

疑似缺失的 TPE 在未包含在项目中的文件中声明。当您告诉 VS 在编译时构建视图时(通常只在渲染它们之前执行),而不是在构建应用程序程序集时执行,它会构建所有视图,并使用它们引用的任何文件,无论它们是否包含在项目中。

Jim Lamb有一篇关于如何执行此操作的好文章,名为“ Turn on Compile-time View Checking for ASP.NET MVC Projects in TFS Build 2010”

不过我不知道TFS 构建部分。我不使用它,在我的例子中,只需将以下元素添加到我的.csproj文件中就可以了。请注意,如果该MvcBuildViews元素已存在,则其文本值必须为true。

<PropertyGroup>
    <MvcBuildViews>true</MvcBuildViews>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)

买者自负。