ASP.NET MVC 4 を既存の asp.net Web サイトに統合しました。どちらも正常に動作しますが、Visual Studio IDE 内でコントローラー/ビューを作成するためのメニュー/ショートカットが表示されません。それらは ASP.NET MVC テンプレートでのみ利用できますか?
18 に答える
それらはASP.NETMVCテンプレートでのみ使用できますか?
はい、でもごまかすことができます。Visual Studioがこれらのショートカットを表示する方法は、プロジェクトタイプを確認することであり、ASP.NET MVCプロジェクトであることが判明した場合は、それらを使用できるようにします。しかし、それがASP.NET MVCプロジェクトであることをどうやって知るのでしょうか?結局のところ、ASP.NETMVCはASP.NETプロジェクトです。
ファイルを開き、ASP.NETMVC4プロジェクト.csproj
のノードを探します。<ProjectTypeGuids>
次のようなものが表示されます。
<ProjectTypeGuids>{E3E379DF-F4C6-4180-9B81-6769533ABE47};{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
.csproj
次に、通常のASP.NETプロジェクトのファイルを開き、{E3E379DF-F4C6-4180-9B81-6769533ABE47}
リストの最初の項目としてGUIDを追加します(プロジェクトを作成しない場合は、ロードすらしません)。それで全部です。これで、WebFormsプロジェクトにASP.NETMVC固有のコンテキストメニューが表示されます。
GUID を変更する手順
- ソリューション エクスプローラーでプロジェクトを右クリック
- プロジェクトのアンロードをクリックします
- ソリューション エクスプローラーでプロジェクトをもう一度右クリックします。
- projectfolder/projectname.csproj を編集
- Chagne GUID
- 右クリックして「プロジェクトの再読み込み」を選択します
タグで、これらの GUID のいずれかを最初に<ProjectTypeGuids>
追加します
{E3E379DF-F4C6-4180-9B81-6769533ABE47};
{E53F8FEA-EAE0-44A6-8774-FFD645390401};
MVC プロジェクトを更新するだけで何もしません。Nuget Package Manager コンソールでこのコマンドを起動します。
更新パッケージ Microsoft.AspNet.Mvc
ソリューション エクスプローラーでプロジェクトを右クリックして、プロジェクトをアンロードし、プロジェクトを編集し、下の図を使用してタグを変更してから、プロジェクトをリロードする必要があります。csproj ファイルのリストの先頭に適切な GUID を貼り付けます。
MVC のさまざまなバージョンのさまざまな GUID:
ASP.NET MVC 1 {603C0E0B-DB56-11DC-BE95-000D561079B0}
ASP.NET MVC 2 {F85E285D-A4E0-4152-9332-AB1D724D3325}
ASP.NET MVC 3 {E53F8FEA-EAE0-44A6-8774-FFD645390401}
ASP.NET MVC 4 {E3E379DF-F4C6-4180-9B81-6769533ABE47}
ASP.NET MVC 5 {349C5851-65DF-11DA-9384-00065B846F21}
回答 2 は正しく、ガイドが間違っていました
{E53F8FEA-EAE0-44A6-8774-FFD645390401}
VS2010のMVCに必要なものです
私は VS2012 を使用しており、Dimitrov の回答 (プロジェクト ファイルの ProjectTypeGuids に特定の GUID を追加する) を試しました。これにより、コントローラー アクションのコンテキスト メニューが欠落していましたが、Razor ページに IntelliSense がありませんでした。
私が取り組んでいたバージョンの MVC プロジェクトの VS ツールが見つからなかったことが判明し、(プロジェクト ファイルを編集するのではなく) このツールをインストールすることで問題が解決しました。
Visual Studio 2012 用の ASP.NET および Web Tools 2013.1 のダウンロード ページ
次のブログ投稿からこのダウンロード リンクを見つけました。
VS2015で同じ問題が発生し、ProjectTypeGuids コンテンツを次のように変更するのに役立ちました。
{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}
MVC プロジェクトを Web サイトとして開いたときに同じ問題が発生しました。Open -> Project からソリューションを再度開いたところ、この機能は期待どおりに機能しました。
あなたは正しいです。これらのコンテキストメニューオプションの存在は、プロジェクトタイプ/テンプレート固有です。
他のすべてが失敗した場合 (VS2015 を再インストールする前)、VS キャッシュをリセットすることをお勧めします。これは私にとってはうまくいきました(修復後-GUIDSに干渉しないでください)。このリンクに記載されているフォルダー内のコンテンツを削除するだけで (約 30 秒かかります)、コマンドを実行します。それにはさらに10秒かかります。VS を再起動すると、VS で初めてのユーザーの画面が表示されます。それは魅力のように機能しました。
コントローラー/ビューを追加するためのVS2012コンテキストメニューがありません
VS2012 および MVC4 では、PM で Web API 5.2 をアンインストールしてみてください。
UnInstall-Package Microsoft.AspNet.WebApi