私はこれを理解するために2時間の大部分を費やしてきました。ここに行きます:
HTMLHelper拡張メソッドを作成したいだけです。これは以前にも何度も行われており、正しくコーディングしていることはわかっています。ただし、Razorは、コードファイルをApp_Code(MVCの世界ではもはや意味がないと思っていたフォルダー)内に配置した場合にのみ、それを認識しているようです。
どうすればこれを知ることができますか?
非常に簡単です...2つの同じ名前のファイルに2つの同じコードのHTMLHelper拡張メソッドがあります。
〜/ Extensions内に配置された最初のファイルには、拡張子メソッドが含まれていますDisplayForProperty
〜/ App_Code内に配置された2番目のファイルには、拡張メソッドが含まれていますDisplayForProperty2
ビューで入力すると、次のように入力します@Html.Displ
-Intellisenseは表示するだけですDisplayForProperty2
!
@using
を見るのに必要ではないように思われるので、私は声明を持っていませんDisplayForProperty2
。言うまでもなく、この場合は何も変更されません。
それで、これはなぜですか?これはこのように起こっているべきですか?これは単にかみそりが遅れているのですか、それとも私が遅れているのですか?
VS2012の完全に更新されたコピーを使用しています。
PS-別の注意点として、名前空間参照をすべてのweb.configのすべての/ Viewsディレクトリ(すべての単一のAreaのように)とルートに配置する必要がありますか?これをルートまたはルート/Viewsディレクトリに配置できないのはなぜですか?