1

稼働中の Web サイトをライブ環境からローカル環境に引き下げました。System.Data.XML 名前空間への参照を除いて、すべて正常に機能しました。これにより、見つからないという標準エラーが発生しました。

このサイトの IIS のアプリケーション プールが 4.0 に設定されていることを最初に確認しました。

次に、3.5 に設定されている Visual Studio でサイトのターゲット フレームワークを確認しました。

次に、web.config を調べたところ、System.Data.Linq (System.Core と共に) がリストされていることがわかりました。

Visual Studio経由で参照を追加してみました。これにより、私のweb.configが変更され、この行で重複するセクションが追加されました

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

次に、4.0 をターゲットにして、何かが変わるかどうかを確認してみました。名前空間が正しく取得されるようになりましたが、LINQ 関数の呼び出しはすべて失敗します。

web.config の Assemblies セクションは次のとおりです。

  <compilation defaultLanguage="c#" debug="true">
    <assemblies>
      <add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
      <add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
      <add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
      <add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
      <add assembly="System.Data.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
    </assemblies>
  </compilation>
4

0 に答える 0