web-dev-qa-db-ja.com

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

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

56
user1186065

これらはASP.NET MVCテンプレートでのみ使用できますか?

はい、でもごまかすことができます。 Visual Studioがこれらのショートカットを表示する方法は、プロジェクトの種類を確認することです。それがASP.NET MVCプロジェクトであることがわかると、それらが利用可能になります。しかし、ASP.NET MVCプロジェクトであることをどのように認識していますか?結局のところ、ASP.NET MVCはASP.NETプロジェクトです。

.csprojファイルを開き、ASP.NET MVC 4プロジェクトの<ProjectTypeGuids>ノードを探します。次のようなものが表示されます。

<ProjectTypeGuids>{E3E379DF-F4C6-4180-9B81-6769533ABE47};{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>

通常のASP.NETプロジェクトの.csprojファイルを開き、リストの最初の項目として{E3E379DF-F4C6-4180-9B81-6769533ABE47} GUIDを追加するだけです(プロジェクトを実行しない場合は、これですべてです。ASP.NETMVC固有のコンテキストメニューがWebFormsプロジェクトに表示されます。

112
Darin Dimitrov

GUIDを変更する手順

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

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

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

{E53F8FEA-EAE0-44A6-8774-FFD645390401};
32
Ali Adravi

MVC 5を使用している場合は、このキーを追加してください

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

の初めに。他のGUIDは機能しません。

8

MVCプロジェクトを更新するだけです。 Nuget Package Managerコンソールでこのコマンドを実行します。

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

7

回答2は正しい間違ったGUIDでした

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

vS2010のMVCに必要なものです

3
Don

ソリューションエクスプローラーでプロジェクトを右クリックして、プロジェクトをアンロードし、プロジェクトを編集し、下のチャートを使用してタグを変更してから、プロジェクトをリロードする必要があります。適切なGUID=をcsprojファイルのリストの先頭に貼り付けます。

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
papadoo

私にとっては、それが存在すると思っていた場所(ビューフォルダを右クリックして「追加」をクリックすると表示されるメニューの上部)から欠落していましたが、「新規」の下のサブコンテキストメニューで見つかりましたテンプレートから '!私は再シャーパーをインストールしました、それが原因で起こったと思います(Visual Studio 2012も):

enter image description here

1
t_plusplus

私はVS2012にいて、ディミトロフの答えを試しました(特定のGUIDをプロジェクトファイルのProjectTypeGuidsに追加します)。ページ。

作業中のMVCプロジェクトのバージョン用のVSツールが不足していたことがわかり、このツールを(プロジェクトファイルを編集するのではなく)インストールすることで問題が解決しました。

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

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

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

1
Mike Strother

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

1
dragy

私はこれが古い投稿であることを知っていますが、MVC 5プロジェクトのVS2013とVS2012の間でこの切り替えに遭遇しました。私が抱えていた問題は、使用していたMVCテンプレートのバージョンがVisual Studioの更新プログラムからインストールされなかったことです。 VS2012はその後リリースされたため、MVC5には付属していなかったため、VS2012がテンプレートを追加するには更新が必要でした。私が想像するVS2010とMVC4と同じです。

とにかく、Microsoftからアップデートをダウンロードすると、別のバージョンがプロジェクトを開いて保存したときに、上記の修正を使用すると再び消えてしまうという問題が解決しました。

VS2012 MVC5アップデートへのリンクは次のとおりです。ツールの更新とVSプラグインの両方をダウンロードしてインストールしてください。

http://www.Microsoft.com/en-us/download/details.aspx?id=41532

1
Dillon

VS2015で同じ問題を抱えていたため、ProjectTypeGuidsのコンテンツを次のように変更できました。

{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}
1
you_rule

これがVS 2017で私にとってうまくいったものです。

最初に、新しい空のMVCプロジェクトを作成できるかどうかを確認します。

そうでない場合-これは、いくつかのコンポーネントが欠落していることを意味します。 Visual Studio Installerを起動します(通常はC:\Program Files (x86)\Microsoft Visual Studio\Installer\vs_installer.exeにありますが、「start」を押して「visual studio installer」と入力し始めるだけです)

「変更」を選択し、既存のすべてのコンポーネントをチェックして再実行します。

「ASP.NET Web開発」がチェックされていることを確認してください。

0
Alex

この問題は、コードリポジトリからソリューションの新しいコピーをチェックアウトしたばかりで、Microsoft.AspNet.Mvcを含むNuGetパッケージがまだダウンロードされていない場合にも発生する可能性があります。ソリューションを再構築すると、問題が修正されます。

0
Theophilus

他のすべてが失敗した場合(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

0
Joe Kehnast

古いバージョンの

{F85E285D-A4E0-4152-9332-AB1D724D3325}
0
isxaker

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

0
Nathan Taylor