私は最近、LinqをSqlの機能に追加した.NET 3.5 Webアプリケーションを使用しています。LinqとSqlコンポーネントを使用してASP.NET Webサイトをデプロイする方法
しかし、私はそれを展開しようとすると、コンテキストオブジェクトのコンストラクタを呼び出すときに明らかにnull参照例外が発生します。
複雑さを増すために、私はWeb Deployment Projectを使用して1つのDLLにコンパイルします。 Linq to Sqlのものは他のものと一緒にコンパイルされるだろうと思った。しかし、今私はDLLと一緒にdbmlファイルを移動する必要があると思っています。
私はApp_Codeディレクトリにdbmlファイルを持っていたので、リモートサーバ上でそのディレクトリ構造を作り直そうとしました。しかし、.NETは私にプリコンパイルされたアプリケーションにApp_Codeディレクトリを持たせません。だから、dbmlファイルをルートディレクトリに移動したばかりですが、まだエラーが発生します。
ヘルプ!ここで
は私が取得していますエラーのスタックトレースです:
[とNullReferenceException:オブジェクト参照オブジェクトのインスタンスに設定されていません。] codeCS.SarcStateDataDataContext..ctor()28 DB_Interface.SarcStateDataDB ..ctor()+26 eSARC_Basic..ctor()+56 ASP.esarc_basic_aspx..ctor()+14 __ASP.FastObjectFactory_sarcwriting.Create_ASP_esarc_basic_aspx()+20 System.Web.Compilation.BuildResultCompiledType.CreateInstance()+ 32 System.Web.Compilation.BuildManager.CreateInstanceFromVirtualPath(VirtualPath virtualPath、タイプrequiredBaseType、HttpCont (HttpContextコンテキスト、String requestType、VirtualPath virtualPath、String physicalPath)+33 System.Web.UI.PageHandlerFactory.System.Web.IHttpHandlerFactory2 .GetHandler(HttpContextコンテキスト、String requestType、VirtualPath virtualPath、String physicalPath)+40 System.Web.HttpApplication.MapHttpHandler(HttpContextコンテキスト、String requestType、VirtualPathパス、String pathTranslated、Boolean useAppConfig)+160 System.Web.MapHandlerExecutionStep。 System.Web.HttpApplication.IExecutionStep.Execute()+93 System.Web.HttpApplication.ExecuteStep(IExecutionStepステップ、ブール& completedSynchronously)155
DB_Interface.SarcStateDataDBは、コンテキストオブジェクトのコンストラクタを呼び出すクラスです。
codeCS.SarcStateDataDataContext context = new SarcStateDataDataContext();
プログラムのローカルバージョンとデプロイされたバージョンが同じリモートデータベースを使用するため、接続文字列または接続オブジェクトを送信しません。しかし、それは問題になる可能性がありますか?ローカルアプリケーションはdbmlファイル内の接続文字列にアクセスできますが、デプロイされたアプリケーションは接続文字列にアクセスできません。
UPDATE:私はリフレクターのコードを見て、それがweb.configファイルから接続文字列を取得している、そしてすべてがその問題にcopaseticに見える...
THanks Davita - 私はいくつかの情報で自分の投稿を更新しました。開発データベースと本番データベースの両方が同じであるため、私はそれが問題だとは思わない。 – Cynthia