0

VS 2010 で ASP.NET MVC4 プロジェクトを作成し、4.5 フレームワークが必要だと判断したため、VS 2012 でプロジェクトを開き、ターゲット フレームワークを 4.5 に変更しました。

バージョン 5 より前のバージョンの EntityFramework への参照が原因であると確信しているコンパイル エラーがいくつか発生しました。

例えば:

エラー 2 型または名前空間名 'Table' が見つかりませんでした (using ディレクティブまたはアセンブリ参照がありませんか?) c:\users\saad\documents\visual studio 2012\Projects\MvcApplication1\MvcApplication1\Models\AccountModels. cs 21 6 MvcApplication1

現在、私の Web.config ファイルにあるエントリは次のとおりです。

<configSections>
    <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=4.4.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</configSections>

と ...

<assemblies>
        <add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral,        PublicKeyToken=b77a5c561934e089" />
</assemblies>

フレームワークリストに表示されなかったため、EntityFramework 参照をより高いバージョンに変更することはできませんでした。

同様の問題を抱えている人に与えられたアドバイスに従って、パッケージマネージャーコンソールを使用して問題を解決しようとしました。以下で私が巻き込まれた混乱を見ることができます。

この問題を解決する方法を知っている人はいますか?

私が行っている作業にはバージョン 5 が必要です。

PM> Uninstall-Package entityframework PersonalityTest_002 から 'EntityFramework 5.0.0' を正常に削除しました。ディレクトリが空ではありません。

「EntityFramework 5.0.0」のアンインストールに成功しました。

PM> Install-Package entityframework Install-Package : リモート名を解決できませんでした: 'nuget.org' At line:1 char:16 + Install-Package <<<< entityframework + CategoryInfo : NotSpecified: (:) [Install- Package]、WebException + FullyQualifiedErrorId : NuGetCmdletUnhandledException、NuGet.PowerShell.Commands.InstallPackageCommand PM> Install-Package EntityFramework 'EntityFramework 5.0.0' は既にインストールされています。ディレクトリが空ではありません。

「EntityFramework 5.0.0」のアンインストールに成功しました。Install-Package : 'EntityFramework' への参照を追加できませんでした。行:1 char:16 + Install-Package <<<< EntityFramework + CategoryInfo : NotSpecified: (:) [Install-Package], InvalidOperationException + FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PowerShell.Commands.InstallPackageCommand PM> Install-Package entityframework ' EntityFramework 5.0.0' が既にインストールされています。ディレクトリが空ではありません。

「EntityFramework 5.0.0」のアンインストールに成功しました。Install-Package : 'EntityFramework' への参照を追加できませんでした。行:1 char:16 + Install-Package <<<< entityframework + CategoryInfo : NotSpecified: (:) [Install-Package], InvalidOperationException + FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PowerShell.Commands.InstallPackageCommand PM> Install-Package EntityFramework ' EntityFramework 5.0.0' が既にインストールされています。ディレクトリが空ではありません。

「EntityFramework 5.0.0」のアンインストールに成功しました。Install-Package : 'EntityFramework' への参照を追加できませんでした。行:1 文字:16 + Install-Package <<<< EntityFramework + CategoryInfo : NotSpecified: (:) [Install-Package], InvalidOperationException + FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PowerShell.Commands.InstallPackageCommand PM> Uninstall-Package EntityFramework - Force Uninstall-Package : パッケージ 'EntityFramework' が見つかりません。行:1 文字:19 + Uninstall-Package <<<< EntityFramework -Force + CategoryInfo : NotSpecified: (:) [Uninstall-Package], InvalidOperationException + FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PowerShell.Commands.UninstallPackageCommand PM> Install-Package EntityFramework 'EntityFramework 5.0.0' は既にインストールされています。ディレクトリが空ではありません。

「EntityFramework 5.0.0」のアンインストールに成功しました。Install-Package : 'EntityFramework' への参照を追加できませんでした。行:1 char:16 + Install-Package <<<< EntityFramework + CategoryInfo : NotSpecified: (:) [Install-Package], InvalidOperationException + FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PowerShell.Commands.InstallPackageCommand PM>

4

2 に答える 2

1

NuGet を使用している場合 (使用していない場合)、4.5 に切り替えるために、すべてのパッケージを削除して追加し直す必要がある場合があります。packages.config を開くと、バージョンが表示されます。

于 2013-02-14T02:04:48.070 に答える
0

エラーの原因となったTableAttribute の由来:

Assembly System.ComponentModel.DataAnnotations.dll, v4.0.0.0
C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\System.ComponentModel.DataAnnotations.dll

そのため、プロジェクトでこのアセンブリへの参照を見逃している可能性があります。

于 2013-02-13T21:51:08.833 に答える