2

初めての投稿なので続きは…

私は ac# .net クラス ライブラリを作成して、しばらくの間本番環境で使用しています。プロジェクト (.net Framework 3.5、出力タイプ クラス ライブラリ、厳密な名前を使用) には、非フレームワーク/標準参照はありませんでした。COM コンポーネントとして使用するように設定されており、従来の ASP Web サイトに対して使用しています。展開するには、Build -> Configuration Manager を Release に設定し、ビルドして、bin/release/PrintJob.dll ファイルを Web サーバーにコピーします。次に、 regasm "c:\path info\PrintJob.dll" /tlb /codebase を使用してこれをサーバーに登録します。その時点で、従来の ASP サイトはオブジェクトのインスタンスを正常に作成し、その機能を使用できます。

今日は、サード パーティの .net コンポーネントを使用して新しい機能 (暗号化/復号化) を実装する任務を負っています。クラス ライブラリや COM コンポーネントなど、ASP.NET アプリケーションでの作業に慣れています。そのため、Web プロジェクトと同じように既存のプロジェクトを更新します。コンピューターに新しい dll があります。まず、クラス ライブラリがそれを受け入れるように、それ自体に厳密な名前を付ける必要がありました。アプリケーションで customCrypto.dll ファイルへの参照を追加し、クラス ファイルで名前空間を参照します。 )、テストしてビルドすると、ローカルで正常に動作します。

以前と同じ方法でデプロイしようとしています。bin/release/ フォルダーに移動し、PrintJob.dll ファイルを Web サーバーにコピーし、同じように登録します。サイトが今それを使用しようとすると、customCrypto.dll が見つからないという例外がスローされます。ファイル (例外には完全な厳密な名前のアセンブリ属性が表示されます)。

だから私の質問は、私はこれを正しくやっていますか? Web プロジェクトでは、customCrypto.dll ファイルは公開中にサイトと共に自動的に移動されます。したがって、dll は自動的にプロジェクトで問題なく終了します。しかし、このクラス ライブラリでは、customCrypto.dll ファイルも他のサーバーにコピーする必要がありますか? ビルドが行われたとき、どうして PrintJob.dll アセンブリにこの機能が内部的に含まれていなかったのですか。COM コンポーネントの PrintJob.dll を取得して、デプロイ時に customCrypto.dll を使用できるようにするにはどうすればよいですか? サード パーティの customCrypto.dll コンポーネントは .net コンポーネントであるため、何らかの方法でこれをマシンに追加し、アプリケーションで別の方法で使用する必要がありますか?

私は一日中これへの参照を見つけようとしましたが、見つけることができるのは、アセンブリに厳密に名前を付ける方法、参照として追加する方法など、より直接的な問題だけです。

4

0 に答える 0