私はここで途方に暮れています。
一番下の再現手順
MyProj.MvcVisual 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。できます!