私はちょうどVS 2015に切り替えました。私は4.52に対して実行される古いMVC 5アプリを持っています。 VS 2013では、まったく問題ありません。
VS 2015では、私は私の下に赤い波線が見えます@Html.TextBoxFor()
以下を示すエラー付き
型 'Expression<>'は、定義されていないアセンブリで定義されています 参照されました。アセンブリ 'System.Coreへの参照を追加する必要があります。 バージョン= 4.0.0.0、カルチャ=ニュートラル、PublicKeyToken = b77a5c561934e089 '。
プロジェクトは正常にビルドされ、実行されます - しかし、私はVS 2013では決して起こらなかったIntelliSenseエラーについて心配しています。さて、私は上記のエラーで推奨されるSystem.Coreへの参照を追加しようとします。
'System.Core'への参照を追加できませんでした。このコンポーネントは ビルドシステムによってすでに自動的に参照されています。
繰り返しますが、これはVS 2013では問題ありません。
私は同じ問題を抱えていました、しかしその間に私は答えを見つけました:
私は私のweb.configに次の参照を追加しなければなりませんでした(最初のsystem.webタグの内側に追加します):
<compilation debug="true" targetFramework="4.5">
<assemblies>
<add assembly="System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
<add assembly="System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
<add assembly="Microsoft.CSharp, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
<add assembly="System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.Helpers, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.WebPages, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
</assemblies>
</compilation>
ターゲットフレームワークも4.5.1から4.5に変更しました。
変更後、Visual Studioを閉じて再度開きます。
私はこれらのほとんどを試しました、結局私のために働いたのはプロジェクトをアンロードし、csprojファイルを編集し、そして以下を追加することでした:
<Reference Include="System.Core" />
System.Runtime
。 - Todd Menier
解決策を削除してソース管理から解決策を取得することだけが私のために解決し、.vsフォルダを削除し、VS2015を "devenv.exe / resetuserdata"として起動しても問題は解決しませんでした。かみそりの知性がVS 2015で機能しない答えます。
4.5.2から4.6.1への更新から、私は私の意見でこれらの正確なエラーを得ました。ソリューションの構築と実行は絶対にうまくいきました。ここにすでに掲載されているすべての解決策を試しても(そして作業のためのインテリセンスのチェック、キャッシュのクリア、binとobjフォルダーの削除、プロジェクトのロードと再ロード)何もうまくいきませんでした(system.coreは既に正しく構築されていてWeb.configは何もしませんでした)。私は自分で調べたところ、エラーが発生していたプロジェクトで、Web.configファイルに2つのコンパイルデバッグターゲットフレームワークと異なるhttpRuntimeターゲットフレームワークが含まれていることがわかりました。そのようです:
<system.web>
<authentication mode="None" />
<compilation debug="true" targetFramework="4.6.1" />
<compilation debug="true" targetFramework="4.5.2" />
<httpRuntime targetFramework="4.5.1" />
...
この問題を解決するには、余分なコンパイルデバッグターゲットフレームワークを削除し、すべてのターゲットフレームワークが必要なものであることを確認しました(4.6.1)。
<system.web>
<authentication mode="None" />
<compilation debug="true" targetFramework="4.6.1" />
<httpRuntime targetFramework="4.6.1" />
...
他に何もうまくいかない場合は、これを再確認してください。誰かに役立つことを願っています!
私は他のStack Overflowスレッドでこれらと他の解決策を試しました。どれもうまくいきませんでした。
うまくいったのは、システム設定、アプリと設定にあるVisual Studioのインストールの修復でした。機能サブメニュー(VSをクリックして「修復」を選択)。それは数時間かかりました、しかしそれから問題は消えました。
私の場合は、タグを変更してもうまくいきました<ProjectGuid>
に.csproj
ファイルする<ProjectGuid>{6C651A5E-8DDA-4680-804E-F9596743CBE8}</ProjectGuid>
そして解決策を再開する。上記に掲載されている解決策のすべてが私にはうまくいきませんでした。