2009-08-31 6 views
2

既存のASP.NET WebフォームプロジェクトにいくつかのASP.NET MVCページを追加しています。ASP.NET MVCページをWebフォームプロジェクトに追加するときに、「追加 - >表示」メニューアイテムを取得するにはどうすればよいですか?

私が作成したMVCプロジェクトからいくつかのモデル、ビュー、コントローラを移植することができました。彼らは素晴らしい作業をしています。

しかし、私はいくつかの新しい「強く型付けされた」ビューをプロジェクトに追加したいと思いますが、私のWebフォームプロジェクトには新しいビューウィザードがありません。

私はVisual Studioのカスタマイズについては初心者ですが、何かが分かりにくいかもしれません。

答えて

4

プロジェクトファイルで行うことができるハックが少しあります。 WebFormsプロジェクトファイル(通常のファイルとして開く)に、ProjectTypesGuidノードの下に次のGUIDを追加します。

{603c0e0b-db56-11dc-be95-000d561079b0};

その後System.Web.Routing、抽象化およびMVCへの参照を追加し、あなたが行くように良いことがあります...

基本的には、この手順の逆です...

http://weblogs.asp.net/leftslipper/archive/2009/01/20/opening-an-asp-net-mvc-project-without-having-asp-net-mvc-installed-the-project-type-is-not-supported-by-this-installation.aspx

0

新しいビューウィザードは、ASP.Net MVCスキャフォールディングの一部です。この機能を利用するには、ASP.Net MVCプロジェクトテンプレートからプロジェクトを作成する必要があります。

WebアプリケーションやWebサイトプロジェクトテンプレートで作成された古いASP.Netプロジェクトに追加するので、手動で取得する必要があります。

0

私はまた、あなたのコントローラのメソッドが戻りのボイドの結果だけではなく、ジョン・フォスターのような

//Right click and the context menu will NOT show "Add View" 
    public void Details(int id) 
    { 
     Dinner dinner = dinnerRepository.GetDinner(id); 
     if (dinner == null) 
     return View("NotFound"); 
     else 
     return View("Details", dinner); 
    } 

    //Right click and the context menu will show "Add View" 
    public ActionResult Details(int id) 
    { 
     Dinner dinner = dinnerRepository.GetDinner(id); 
     if (dinner == null) 
     return View("NotFound"); 
     else 
     return View("Details", dinner); 
    } 
1

は手動.csprojファイルを編集する必要が言わのActionResultを持っていたときにこれが起こる見てきました。しかし、私は別のguidといくつかの追加要素(少なくともVisual Studio 2012の場合)が必要でした。そうでなければ、Add-> Viewの後に "Parameter is null"というエラーダイアログが表示されました。ここに私がやったことだ:

  1. 右クリックプロジェクト - > "プロジェクトのアンロード"
  2. 右クリックプロジェクト - > "編集.csproj"
  3. 追加{E3E379DF-F4C6-4180-9B81-6769533ABE47 }; Project \ PropertyGroup \ ProjectTypeGuidsにコピーします。鉱山のように見える:

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

  4. 次の要素がプロジェクト\ PropertyGroupに存在することを確認します

    <MvcBuildViews>偽</MvcBuildViews >

    <FileUpgradeFlags> </FileUpgradeFlags >

    < UpgradeBackupLocation> </UpgradeBackupLocation>

    < TargetFrameworkProfile />

関連する問題