33

私はちょうど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では問題ありません。


  • MVC 4ツールはVisual Studio 2015には含まれていないため、MVC 4を使用している場合にこれが発生する可能性があります。MVC5およびMVC 6ツールのみが含まれています。 packages.configを開き、Microsoft.AspNet.Mvcのエントリまでスクロールして、MVC 5を使用していることを確認できますか。表示されたバージョンが「5」で始まる場合、これはMVC 5を使用していることを意味します。 - Mohit Srivastava
  • @Mohit - Microsoft.AspNet.Mvcのバージョン5.2.2を使用していますが、それでもMicrosoft.Asp.Net.Razorのバージョン3.2.2を使用しています。 - Tom Baxter
  • 私は全く同じ問題を抱えていますが、私のWindows 7マシン上でのみ、Windows 10上で問題はありません。どのバージョンのWindowsを実行していますか? - Flores
  • @Flores:私はWin 7 Pro、64で動作しています。NuGetですべてを更新しましたが、それでも赤い波線が表示されます。 - Tom Baxter
  • @TomBaxterあなたは解決策を見つけましたか? - Igoris Azanovas

6 답변


36

私は同じ問題を抱えていました、しかしその間に私は答えを見つけました:

私は私の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を閉じて再度開きます。


  • これに従った後、まだ何も変わらないのであれば。スタジオをリセットするだけです。理由がわかりませんが、うまくいきます。 - nguyenhoai890
  • これは私のために働いた、私はOPと同じ問題を抱えていた。これがViewフォルダのWeb.configにあるかどうかは関係ありませんが、アプリケーションのWeb.configにある必要があります。 VS2015をリセットしても何もしませんでした。 - Josh
  • VS2015の場合、IDEを閉じて再起動するだけで問題は解決しました。 - Jgreenst
  • 私は、Viewsフォルダのweb.configファイルにSystem.Coreアセンブリのみを追加し、それからクリーンソリューションを実行してから、Visual Studioを閉じて再度開くことで、エラーを取り除きました。 - Michael12345
  • 私はすでにこれらのいくつかを持っていましたが、System.Coreを欠いていました。それを追加してVSを再起動するとうまくいきます。 - Lars-Erik

13

私はこれらのほとんどを試しました、結局私のために働いたのはプロジェクトをアンロードし、csprojファイルを編集し、そして以下を追加することでした:

<Reference Include="System.Core" />


  • いいね。私にとっては、一見無作為に赤く波立っている地獄は単体テストプロジェクトの中にありました。私はこれを必要としていましたSystem.Runtime。 - Todd Menier
  • vb.netでは、&lt; Import Include =&quot; System.Core&quot;となります。 /&gt; - John Swaringen

1

解決策を削除してソース管理から解決策を取得することだけが私のために解決し、.vsフォルダを削除し、VS2015を "devenv.exe / resetuserdata"として起動しても問題は解決しませんでした。かみそりの知性がVS 2015で機能しない答えます。


  • 私は私が見つけたほとんどすべてのことを試したが、repositotyの新鮮なコピーからクローンを作成することは仕事をした、共有のためのthx - eldi

1

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" />
    ...

他に何もうまくいかない場合は、これを再確認してください。誰かに役立つことを願っています!


0

私は他のStack Overflowスレッドでこれらと他の解決策を試しました。どれもうまくいきませんでした。

うまくいったのは、システム設定、アプリと設定にあるVisual Studioのインストールの修復でした。機能サブメニュー(VSをクリックして「修復」を選択)。それは数時間かかりました、しかしそれから問題は消えました。


0

私の場合は、タグを変更してもうまくいきました<ProjectGuid>.csprojファイルする<ProjectGuid>{6C651A5E-8DDA-4680-804E-F9596743CBE8}</ProjectGuid>そして解決策を再開する。上記に掲載されている解決策のすべてが私にはうまくいきませんでした。

リンクされた質問


関連する質問

最近の質問