6

私のエディタ テンプレートで次のエラーが発生していますApplicantAddressMode

エラー CS0019: 演算子 '!=' は、タイプ 'Comair.RI.ViewModels.ApplicantAddressType' および 'Comair.RI.Models.ApplicantTypesOfAddress' のオペランドには適用できません"}

タイプComair.RI.ViewModels.ApplicantAddressTypeはどこにもありません。だけのすべてのファイルのグローバル ソリューション検索でApplicantAddressTypeは、結果が返されません。意図しない一致を回避するために列挙型の名前を から に変更しComair.RI.ModelsApplicantAddressType32ApplicantTypesOfAddressビットと 64 ビットの一時 ASP インターネット ファイルの両方を消去しましたが、エディター テンプレートの次の行でエラーが引き続き発生します。

@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次のように宣言されています。

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

私は途方に暮れており、燃えるような尖った旗を や のように振り回し始めようIsResidentialStreetNumberとしてIsPostalSuburbいます。それからしばらくして救急車が到着し、私を安らかに連れて行ってくれるとは思えません。

enum 宣言は次のようになります。

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

1 に答える 1

2

欠落が疑われる tpe は、プロジェクトに含まれていないファイルで宣言されました。コンパイル時にビューをビルドするように VS に指示すると、通常、アプリケーション アセンブリをビルドするときではなく、ビューをレンダリングする直前にのみ実行され、すべてのビューがビルドされ、プロジェクトに含まれているかどうかに関係なく、ビューが参照するすべてのファイルが使用されます。 .

Jim Lambは、 TFS Build 2010 で ASP.NET MVC プロジェクトのコンパイル時のビュー チェックをオンにするという、これを行う方法に関する良い投稿をしています。

ただし、 TFSビルドの部分についてはわかりません。私はそれを使用しません。私の場合、次の要素を.csprojファイルに追加するだけでうまくいきました。MvcBuildViews要素が既に存在する場合、そのテキスト値はtrueでなければならないことに注意してください。

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

買い手責任負担。

于 2013-02-24T08:21:38.717 に答える