クラシック ASP サイトを Windows 2000 サーバーから Windows 2008 (開発と製品の両方) に移動しています。.NET 1.1 で作成された .dll があります。この securityUtility.asp にある JScript で作成された関数が dll を使用して ActiveXobject を作成すると、エラーが発生します。行は次のようになります。
関数getProfileFromLdap(ユーザー、pw){
var aClass、aProfile
aClass = new ActiveXObject("com.co.comp.security.ldap.LDAPLogin"); ... }
発生しているエラー: エラー '80070002' E:\SITES\WWW-COMPANYSITE-COM\SITE\BINS../../siteInc/securityUtility.asp、行 850
次のコマンドを実行して、dll をレジストリに登録しました。
"C:\Windows\Microsoft.NET\Framework\v1.1.4322\RegAsm" coSecurity.dll /tlb:coSecurity.tlb
言及する価値があるかどうかはわかりませんが、ある時点で、サイトを本番環境に移行しようとしたときに、サイトが開発とエラーで完全に機能しました。ずっと前に、サイトを新しい開発サーバー (Windows 2008) に移動しました。メモを取っておいたので、本番環境に移行したときに、どのような手順を踏んだかがわかっていました。ステップを記録するのを忘れたのではないかと思ったので、自分が行ったことをたどろうとして、.dll をアンインストールし、記録したステップを実行しました。現在は開発中に壊れていますが、ある時点では機能していました。
言及する価値があるかどうかはわかりませんが、このサイトは新しい開発サーバーの最初のサイトでした。.NET 1.1 は、他のどのフレームワークよりも前にインストールされました。事後、4.0と2.0がインストールされました。prod サーバーでは、4.0 が最初にインストールされ、次に 1.1 がインストールされました。それが重要かどうかはわかりません。
開発サイトが機能していたとき、古い製品、新しい開発サーバー、および新しい製品と比較して、項目がレジストリにあることを確認しました
古い本番サーバーでは、GAC に何もありませんでした
coSecurity.dll は、securityUtility.asp (コードが属するページ)と同じファイルにあります。のアプリケーション プールには、両方の新しい環境で「32 ビット アプリケーションを有効にする」が含まれています。
「Everyone」には、.dll に対する完全な権限が付与されます
何が欠けているのかわからない!