2

VB.NET クラスを作成し、強力なキーを作成し、GacUtil を使用してGACに追加しました。その部分はスムーズに進みました。アセンブリは GAC にインストールされ、正しくインストール/構成されているようです。

参考までに、アセンブリはテスターと呼ばれるクラスであり、文字列「Hello World」を返す HelloWorld と呼ばれるパブリック静的メソッドを 1 つ公開します。

次のステップは、Visual Studio 2005、Windows XP SP3 を使用して、テスト Web アプリケーション (VB.NET および ASP.NET 2.0) を作成することでした。テスト Web アプリケーションを作成し、web.config ファイルの構成セクションに以下を追加しました。

<assemblies>
<add assembly="BenGACTest, Version=1.0.0.0, Culture=neutral, PublicKeyToken=3e5b6cecb56999ca" />
</assemblies>

次に、次のように aspx ページにインライン コードを追加しました。

<div><%=BenGACTest.Tester.HelloWorld()%></div>

Web ブラウザーでページを実行すると、実際にすべてが期待どおりに機能します。ページは「Hello World」を出力し、すべて問題ないようです。

ただし、コード ビハインドページでこのコードを使用する方法がわかりません。「システムのインポート」と同じように、アセンブリをインポートしようとしましたが、IntelliSense に表示されません。

また、プロジェクトへの参照としてアセンブリを追加しようとすると、インストールされているアセンブリのリストにアセンブリが見つかりません。これは、インストールされているアセンブリの動的リストからではなく、レジストリからリストが取得されたためだと思います。

私の目標は、プロジェクト参照として追加するのではなく、web.config ファイルを介してアセンブリを追加し、コード ビハインド ページでアセンブリを使用することです。

何か案は?

4

1 に答える 1

4

Visual Studio で DLL を使用するためにローカル バージョンを参照するだけで、.NET はアプリケーションの実行時に GAC バージョンを優先します。さらに、GAC で DLL が利用可能になったときに DLL を出荷する必要はないと思いますが、[プロジェクト] メニューの [参照の追加] から参照する必要があります。

編集: このフォーラムの投稿が役立つ場合があります: http://social.msdn.microsoft.com/Forums/en-US/csharpgeneral/thread/63bf8d34-42ad-4f3c-b0c9-cf7c33d77918

于 2009-09-15T13:35:18.533 に答える