私はここで途方に暮れています。
一番下の再現手順
MyProj.Mvc
Visual Studio 2012 Update 3 でMVC 4 プロジェクトを作成しました。
ここでの提案に従って、プロジェクトの下GlobalResources.resx
のフォルダーに入れResources
、DLL にコンパイルされるようにしました。で生成されたコードを確認しましたがGlobalResources.resx.cs
、すべて公開されています。.cs
他のファイル (例: )からリソースにアクセスできますHomeController.cs
。
MyProj.Mvc
どのビューでも、名前空間を現在のコンテキストにすることはできません。
たとえば、任意の Razor ビューで、次のようなリソースを問題なく参照できます。
@MyProj.Mvc.Resources.GlobalResources.AppName
ただし、次のことをしようとすると:
@Resources.GlobalResources.AppName
エラーが発生します。名前Resources
空間が見つかりません。
ここのアドバイスに従い、名前空間を ~/Views/Web.config に入れました。
<add namespace="MyProj.Mvc" />
また、ビューはまだResources
名前空間を認識できません。Visual Studio の再構築や再起動が機能しません。
「わかりました」と私は思います@using
。
@using MyProj.Mvc // put at the top of the page
また、ビューはまだResources
名前空間を認識できません。
助けてください。ヘルプ!@using
ページの上部にステートメントを配置しても名前空間がスコープに含まれないという、私が間違っている可能性があるのは何ですか?
再現する手順:
これは、まったく新しいクリーンなプロジェクトで再現できました。Visual Studio 2012 Update 3 で、新しい ASP.NET MVC 4 Web アプリケーションを作成し、MyProj.Mvc
. テンプレートについては、主に Internet Application に関心がありますが、Empty プロジェクトを使用して自分のマシンでもこれを再現しました。私が持っているものによりよく一致するように、インターネットアプリケーションを選択してください。の上に_Layout.cshtml
、 を置き@using MyProj.Mvc
ます。ページの別の場所で、入力を開始します@Controllers.HomeController
。Controllers
オートコンプリートは名前空間を提供しようとさえしないことに注意してくださいHomeController
。
今では奇妙になります:
それで、それは失敗しました。ただし、ここに何かがあります。using
ステートメントを に変更してみてください@using MyProj.Mvc.Controllers
。ここで、戻って入力を開始します@HomeController
。できます!