3

最近、.NET 4.0 で実行するようにアップグレードされた ASP.NET 3.5 ソリューションがあります。それにもかかわらず、ソリューション内のほとんどのプロジェクトは、まだ .NET 3.5 Framework をターゲットにするように設定されているようです。

そうは言っても、現在これらのプロジェクトをデバッグすることはできません。次のエラーが表示されます。

パーサー エラー メッセージ: ファイルまたはアセンブリ 'System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' またはその依存関係の 1 つを読み込めませんでした。システムは、指定されたファイルを見つけることができません。
=== プレバインド状態情報 ===  
ログ: ユーザー = myusername
ログ: DisplayName = System.Core、バージョン = 3.5.0.0、カルチャ = ニュートラル、PublicKeyToken = 31bf3856ad364e35  
     (完全指定)
ログ: Appbase = file:///C:/Projects/myprojectpath/
ログ: 初期 PrivatePath = C:\Projects\myprojectpath\bin
呼び出しアセンブリ : (不明)。
===
ログ: このバインドはデフォルトのロード コンテキストで開始されます。
ログ: アプリケーション構成ファイルの使用: C:\Projects\myprojectpath\web.config   
ログ: C:\Windows\Microsoft.NET\Framework\v2.0.50727\config\machine.config のマシン構成ファイルを使用しています。
ログ: ポリシー後の参照: System.Core、Version=3.5.0.0、Culture=neutral、PublicKeyToken=31bf3856ad364e35
ログ: 以前にも同じバインドが見られ、hr = 0x80070002 で失敗しました。

ここで説明されているように、プロジェクト ファイルを手動で編集し、次の行を追加しました。

<Reference Include="System.Core">
  <RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>

しかし、それはうまくいきませんでした。このエラー メッセージが表示される理由と解決方法を誰か説明してもらえますか? ありがとう!

4

2 に答える 2

1

たまたま、次のようなコントロールが使用されていました。

<assemblies>
            <add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>

        </assemblies>

代わりに:

 <assemblies>
            <add assembly="System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>

        </assemblies>

またはその逆。あなたはそれをチェックしたいかもしれません。または、プロジェクト全体 (フレームまたはページ) を .net 4.0 に移行します。また、別のフレームワークで作業する必要がある場合は、ターゲット フレームワークの行を削除することもあります。

于 2012-07-30T19:40:25.197 に答える
1

私の場合、削除しなければならない行が web.config にありました。

<pages enableEventValidation="true">
    <namespaces>
        <add namespace="System.Linq"/>
    </namespaces>
    <controls>
        <!--<add tagPrefix="asp" namespace="System.Linq" assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>-->
    </controls>
</pages>

(そして実際に私も無事にコメントアウトできまし<add namespace="System.Linq"/>た。

于 2012-07-30T20:40:37.307 に答える