2

我创建了一个VB.NET类,并创建了一个强大的密钥,并使用GacUtil将其添加到GAC。这部分进展顺利。该组件安装在GAC中,似乎正确安装/配置。如何将VB.NET类添加到GAC,并在代码背后使用它

仅供参考,该程序集是一个名为Tester的类,它公开一个名为HelloWorld的公共静态方法,该方法返回一个字符串“Hello World”。

下一步是使用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”,一切似乎都很好。

但是,我不知道如何在code-behind页面中使用此代码。我尝试导入程序集,就像“导入系统”一样,它不会出现在IntelliSense中。

另外,当我尝试将程序集作为项目的引用添加时,未在已安装程序集列表中找到程序集。我相信这是因为列表是从注册表中取出的,而不是从已安装程序集的动态列表中提取的。

我的目标是通过web.config文件添加程序集,而不是将其添加为项目引用,并在代码隐藏页面中使用程序集。

任何想法?

+0

我不好,没看过最后几段o段。如果您不介意在web.config外引用GAC,则可以使用bin文件夹或在此处查看: http://weblogs.asp.net/jdanforth/archive/2003/12/16/43841.aspx – daddywoodland 2009-09-15 13:35:27

回答

4

您只需引用本地版本即可在Visual Studio中使用该DLL,在运行该应用程序时.NET将支持GAC版本。此外,我不相信您必须在GAC中提供DLL时才能发布,但您必须通过菜单Project-> Add Reference来引用它。

编辑:这个forumpost可能会有帮助:http://social.msdn.microsoft.com/Forums/en-US/csharpgeneral/thread/63bf8d34-42ad-4f3c-b0c9-cf7c33d77918

+0

我想避免手动添加参考。特别是因为通过web.config文件添加程序集,并通过内联vb在aspx页面中使用代码可以正常工作。我该如何使用内联代码,而不是在代码隐藏中? – NJITBEN 2009-09-15 13:48:30

+0

应用程序必须知道程序集需要被引用,所以只需引用该项目即可。你不需要重新分配DLL或其他东西,那么有什么大不了的? – 2009-09-15 14:12:44

相关问题