2013-02-19 8 views
6

otrzymuję następujący błąd w szablonie redaktor kopalni ApplicantAddressMode:Dlaczego pojawia się błąd niedopasowania typu z typem, którego nie widzę nigdzie w moim rozwiązaniu?

error CS0019: Operator '! =' Nie może być zastosowana do argumentów typu 'Comair.RI.ViewModels.ApplicantAddressType' i „Comair.RI.Models.ApplicantTypesOfAddress” "}

Typ Comair.RI.ViewModels.ApplicantAddressType to nigdzie nie można znaleźć. globalnego wyszukiwania rozwiązanie wszystkich plików tylko dla tych ApplicantAddressType Brak wyników wyszukiwania. Zmieniłem nazwę wyliczenia w Comair.RI.Models od ApplicantAddressType do ApplicantTypesOfAddress spróbować uniknąć niezamierzonego mecz, a oczyszczony zarówno 32 bit i 64 bit Tymczasowe ASP Internet Files, a jednak błąd nadal utrzymuje się na tej linii szablonu edytora:

@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) 
     { 

Model.AddressType jest zadeklarowana jako:

[ScaffoldColumn(false)] 
public ApplicantTypesOfAddress AddressType { get; set; } 

jestem w moich rozum kończy się rozpocząć rzucanie opalanie, wskazał flagi wokół, jak IsResidentialStreetNumber i IsPostalSuburb. Nie sądzę, że ambulanse nadejdą długo po tym i zabiorą mnie do pokoju.

deklaracja wyliczenia jest tak:

namespace Comair.RI.Models 
{ 
    public enum ApplicantTypesOfAddress 
    { 
     Residential, 
     Postal 
    } 
} 
+0

Czy możesz pokazać nam, jak definiujesz 'ApplicantTypesOfAddress'? Czy to zwykłe wyliczenie? –

+1

Twoje typy wyglądają tak, jakby obejmowały zespoły. Czy istnieje szansa, że ​​montaż "Modelu" będzie nieaktualny? Wspomniałeś, że jesteś sprzątnięty, ale to jedyne logiczne wytłumaczenie, jakie mogę wymyślić. – Jon

+0

Czy '! Model.AddressType.Equals (ApplicantTypesOfAddress.Residential)' działa? – IronMan84

Odpowiedz

2

TPE że podejrzewano brakuje został ogłoszony w pliku nie ujęte w projekcie. Kiedy powiesz VS, aby zbudował widok w czasie kompilacji, co zwykle robi się tuż przed renderowaniem, a nie kiedy buduje zestaw aplikacji, buduje wszystkie widoki i używa dowolnych plików, do których się odnosi, niezależnie od tego, czy są włączone do projektu, czy nie. .

Jim Lamb ma dobry post, jak to zrobić o nazwie Turn on Compile-time View Checking for ASP.NET MVC Projects in TFS Build 2010

nie wiem o TFS Buduj część chociaż. Nie używam tego, w moim przypadku wystarczy dodać następujący element do mojego pliku .csproj. Uwaga: jeśli element MvcBuildViews już istnieje, jego wartość tekstowa musi być równa true.

<PropertyGroup> 
    <MvcBuildViews>true</MvcBuildViews> 
</PropertyGroup> 

Ostrzegawczy opróżniający.

Powiązane problemy