57

ASP.NET MVC 4 を既存の asp.net Web サイトに統合しました。どちらも正常に動作しますが、Visual Studio IDE 内でコントローラー/ビューを作成するためのメニュー/ショートカットが表示されません。それらは ASP.NET MVC テンプレートでのみ利用できますか?

4

18 に答える 18

116

それらは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固有のコンテキストメニューが表示されます。

于 2012-05-11T06:08:18.557 に答える
33

GUID を変更する手順

  1. ソリューション エクスプローラーでプロジェクトを右クリック
  2. プロジェクトのアンロードをクリックします
  3. ソリューション エクスプローラーでプロジェクトをもう一度右クリックします。
  4. projectfolder/projectname.csproj を編集
  5. Chagne GUID
  6. 右クリックして「プロジェクトの再読み込み」を選択します

タグで、これらの GUID のいずれかを最初に<ProjectTypeGuids>追加します

{E3E379DF-F4C6-4180-9B81-6769533ABE47};

{E53F8FEA-EAE0-44A6-8774-FFD645390401};
于 2014-02-07T04:24:49.717 に答える
8

MVC プロジェクトを更新するだけで何もしません。Nuget Package Manager コンソールでこのコマンドを起動します。

更新パッケージ Microsoft.AspNet.Mvc

于 2015-11-05T15:55:01.353 に答える
3

ソリューション エクスプローラーでプロジェクトを右クリックして、プロジェクトをアンロードし、プロジェクトを編集し、下の図を使用してタグを変更してから、プロジェクトをリロードする必要があります。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}
于 2015-09-22T19:02:30.503 に答える
3

回答 2 は正しく、ガイドが間違っていました

{E53F8FEA-EAE0-44A6-8774-FFD645390401}

VS2010のMVCに必要なものです

于 2012-11-16T21:23:01.317 に答える
1

私は VS2012 を使用しており、Dimitrov の回答 (プロジェクト ファイルの ProjectTypeGuids に特定の GUID を追加する) を試しました。これにより、コントローラー アクションのコンテキスト メニューが欠落していましたが、Razor ページに IntelliSense がありませんでした。

私が取り組んでいたバージョンの MVC プロジェクトの VS ツールが見つからなかったことが判明し、(プロジェクト ファイルを編集するのではなく) このツールをインストールすることで問題が解決しました。

Visual Studio 2012 用の ASP.NET および Web Tools 2013.1 のダウンロード ページ

次のブログ投稿からこのダウンロード リンクを見つけました。

Visual Studio 2012 用の ASP.NET および Web Tools 2013.1 のリリースを発表

于 2016-01-04T23:15:15.520 に答える
1

VS2015で同じ問題が発生し、ProjectTypeGuids コンテンツを次のように変更するのに役立ちました。

{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}
于 2015-11-11T20:38:04.323 に答える
1

MVC プロジェクトを Web サイトとして開いたときに同じ問題が発生しました。Open -> Project からソリューションを再度開いたところ、この機能は期待どおりに機能しました。

于 2014-11-02T15:34:03.610 に答える
0

あなたは正しいです。これらのコンテキストメニューオプションの存在は、プロジェクトタイプ/テンプレート固有です。

于 2012-05-10T18:36:46.060 に答える
0

他のすべてが失敗した場合 (VS2015 を再インストールする前)、VS キャッシュをリセットすることをお勧めします。これは私にとってはうまくいきました(修復後-GUIDSに干渉しないでください)。このリンクに記載されているフォルダー内のコンテンツを削除するだけで (約 30 秒かかります)、コマンドを実行します。それにはさらに10秒かかります。VS を再起動すると、VS で初めてのユーザーの画面が表示されます。それは魅力のように機能しました。

http://blogs.msdn.com/b/willy-peter_schaub/archive/2010/09/15/if-you-have-problems-with-tfs-or-visual-studio-flush-the-user-cache- or-not.aspx

于 2016-02-07T16:27:46.637 に答える
-2

コントローラー/ビューを追加するためのVS2012コンテキストメニューがありません

VS2012 および MVC4 では、PM で Web API 5.2 をアンインストールしてみてください。

UnInstall-Package Microsoft.AspNet.WebApi 
于 2015-06-01T14:45:44.817 に答える