2011-05-19 12 views
2

メインアプリケーションからMVC3アプリケーションの専用DLLにコントローラを分割したかったのです。しかしその後、私はすべてのMVC3ツーリングのサポートを失いました。掘り下げた後、私は、非Webアプリケーションプロジェクトで作業しているときにMVC3のツーリングサポートを保持したい場合は、プロジェクトファイルに適切な情報を追加するだけでよいことを発見しました。MVC3コントローラを含むDLLプロジェクトのツーリングサポートを維持する

答えて

2

まずVSからプロジェクトをアンロードし、右クリックして[プロジェクトをアンロード]をクリックするか、任意のプレーンテキストエディタでVisual Studioの外で編集します。 VSを使用している場合は、プロジェクトをアンロードした後、再度プロジェクトファイルを右クリックして編集を選択します。

ファイルには、最初のPropertyGroupの要素が<ProjectGuid>と表示されます。この要素のすぐ下に<ProjectTypeGuids>という新しい要素を作成します。この要素の内部には、MVC3プロジェクトタイプのGUIDが入ります。私の場合はVBやC#のライブラリの言語を示すプロジェクトタイプをC#に追加する必要があります。このGUIdを追加しないと、プロジェクトをリロードしようとするとVSにエラーが表示されます。

MVC3とC#

<ProjectTypeGuids>{E53F8FEA-EAE0-44A6-8774-FFD645390401};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> 

MVC3とVB.NET

<ProjectTypeGuids>{E53F8FEA-EAE0-44A6-8774-FFD645390401};{F184B08F-C81C-45F6-A57F-5ABD9991F28F}</ProjectTypeGuids> 

は、変更を保存した後、プロジェクトを再読み込み、あなたが行くように良いはずです!

1

時には私は本当に人々がツーリングサポートに関心を持っているのはなぜかと思います。それは本当に重要でなければなりません。正直言って、私はそのようなサポートの使用を発見したことはありません。しかし、あなたはVSは、いくつかのツーリングサポート追加おそらくASp.NET MVC 3 Webアプリケーションとしてそれを扱い、作るためにあなたのクラスライブラリ.csprojに次のプロジェクトのGUIDを追加してみてください可能性があります

<ProjectTypeGuids>{E53F8FEA-EAE0-44A6-8774-FFD645390401};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids> 
+0

私は同意するために使用しますが、最近のツールアップデート(特にコントローラ)とEntityFramework(他のORMがサポートを追加している場合は他のものも可能です)に足場サポートが追加されているので、同じ時間がかかることがあります。私はnHibernateを使用していますので、この点は疑問ですが、私は描画を見ることができます。ほとんどの場合、Resharperのショートカットを使ってファイルを追加するだけですが、ViewsとControllerのデフォルトのテンプレートは、私の場合は* .csファイルや* .cshtmlファイルを追加した後で始点に達する必要性を軽減できます。 –

関連する問題