私は、最初に元のバージョンの IBM.Data.Informix.Dll (2.81) を使用して、作業中の ASP.NET アプリケーションの ASP.NET 2.0 代替を開発しました。置き換えはほとんどの場合問題なく動作しますが、データベースに接続するときに断続的にハングします (これはオリジナルの問題です)。最新バージョンの dll (3.70) にアップグレードすることにしましたが、古いバージョンを削除して置き換えたところ、新しいものを使用して参照を追加すると、アプリケーションをビルドするたびに「オブジェクト参照が設定されていません」というエラーが表示されるようになりました。
エラーは行を指定していないか、有用な情報を提供していません。ビルドする前に .aspx ページの 1 つを開くと、ファイル自体にも警告が表示されます。
エラー全体は次のとおりです。
: Build (web): Object reference not set to an instance of an object.
そして、特に 1 つのページに対する警告:
Warning 2 \\io\wwwroot\intranet\cwsheet-test2\Selection.aspx: ASP.NET runtime error: Object reference not set to an instance of an object. \\io\wwwroot\intranet\cwsheet-test2\Selection.aspx 1 1 cwsheet-test2
さらに、aspx ファイルを開くと、上部に下線が引かれます。
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Selection.aspx.cs" Inherits="XXX.Selection" %>
繰り返しますが、これは新しいバージョンの dll でのみ発生します。dll は、私のシステムに適したバージョンです (64 ビット SDK から取得)。この dll を削除して古いものに置き換えると、正常に動作し始めます。
私が IBM.Data.Db2 を使用しない理由を説明すると、私たちが使用している Informix サーバーは 10.0 で、DB2 は 11.10 以降でしか動作しません。
Satyan の質問に関して: Web サイトの GAC リファレンスは 3.0.0.2 に設定されています。参照を追加するときの DLL のバージョン番号は 3.00.05000.2 です。これが問題である可能性がある場合、どうすれば修正できますか?