2013-10-27 5 views
5
  1. Visual Studio 2013を使用して、MVCテンプレートを使用して新しいASP.NET Webアプリケーションプロジェクトを作成します。 「Views \ Home」フォルダを右クリックし、「Add ... View」を選択すると、「Add View」ダイアログが機能することを確認します。
  2. 新しいF#ライブラリプロジェクトをソリューションに追加します。ビューの追加ダイアログは引き続き正しく機能するはずです。
  3. MVCプロジェクトからF#プロジェクトにプロジェクト参照を追加するには、参照フォルダを右クリックし、参照の追加を選択してからソリューション...プロジェクトを参照し、追加したばかりのF#ライブラリプロジェクトを確認します。

この時点で、 "Views \ Home"フォルダを右クリックし、 "Add ... View"を選択すると、Add Viewダイアログの代わりにポップアップアラートボックスにエラーが表示されます。F#プロジェクトを参照するMVC 5プロジェクトでビューの追加ダイアログが機能しない

選択されたコードジェネレータを実行中にエラーが発生しました: 'オブジェクト参照がオブジェクトのインスタンスに設定されていません。'

回避策には、うまくいけば、これらに限定されない:

  • は、任意のF#プロジェクトに新しいビューを追加するたびに、すべての参照を削除します。
  • 参照されているF#プロジェクトをアンロードしますが、新しいビューを追加するたびにプロジェクト参照をそのまま残しておきます。

私の質問は以下のとおりです。

  • はこの動作を見て他の人がいる、またはそれは私だけでしょうか?
  • F#プロジェクトの参照を削除したりアンロードしたりするよりも、より良い回避策を知っている人はいますか?
  • Microsoftがこれを修正する作業をすでに行っているかどうかは知っていますか?これがF#チームかVisual Studioチームに報告されるべきかどうか?この問題と、まだすべてのF#プロジェクトにEntity Frameworkの6の参照を追加するために、NuGetを使用することは不可能であるという事実の間

は、私はF#言語へのコミットメントのMicrosoftのレベル神経質に取得し始めています。

+1

関連するバグレポートに投票してください... https://connect.microsoft.com/VisualStudio/feedback/details/806801/add-view-dialog-does-not-work-in-an-mvc -5-project-that-references-an-f-project –

+0

F#の問題ではないかもしれません。この同じエラーは、VS2013で不思議にも、コンテキストダイアログで、Add Viewを選択するのではなく、Add New Itemを選択し、New ItemダイアログからViewを追加します。ビューを追加できます。おそらく、いくつかのレジストリ設定が破損している可能性があります私が唯一行ったことは、ユニットテストプロジェクトを追加することでした。 – subsci

+0

私はF#プロジェクトで同じ問題を抱えています。回避策について - 新しいビューが必要なたびに、既存の '.cshtml'ファイルをコピーし、名前を変更してすべてのコンテンツを削除します。少なくとも私はf#プロジェクトへの参照を削除して再追加する必要はありません。 – takemyoxygen

答えて

6

解決策の中でEntityFrameworkのバージョンを確認するのに役立つかどうかは不明です。私のソリューションには2つのプロジェクトがあり、何らかの理由でWebプロジェクトにはEF 6があり、クラスライブラリプロジェクトはEF 6.1でした。ソリューションから完全にEFをアンインストールし、両方のプロジェクトでEF 6.1を再インストールすると、「新しいビューの追加」アクションが機能し始めました。

+1

あなたは非常に正しいです。それは私の問題を解決しました。ありがとう! – ahmadalibaloch

+0

うん、これも私の問題だった。 EDMXを使用するプロジェクトではEF 6.1.1を使用し、WebプロジェクトではEF 6.1.3を使用していました。すべてのものを更新した後、期待どおりに働いた – bic

0

Update 3でEF 6.1とVS2013を使用して、C#& MVCマルチプロジェクトソリューションでビューまたはコントローラを追加するときに同じエラーメッセージが表示されました。この問題は、ナゲットの「パッケージ」フォルダが読み取り専用としてマークされ、ソースコントロールにチェックインされているためです。私はフォルダ全体をチェックアウトして編集可能にし、正常に動作し始めたので、VSからまっすぐに足場を立たせることができました。

また、web.configにエンティティフレームワーク接続文字列を追加するのを忘れてしまったため、web.apiプロジェクトでエラーメッセージが表示されました(これはAreaを使用していましたが、EFはWebルートの.configファイル)。

+0

これは、web.configが見つからないことによってエラーが発生したMVCポストに関連している可能性があります。http://stackoverflow.com/a/22388052/200824 –

関連する問題