ASP.net Bin目录 - dll加载

5

我需要在我的asp.net应用程序中使用一个dll。如何加载不来自bin目录的dll?

也许我应该提一下,这个应用程序是asp代码和asp.net代码混合的。 因此,在我的机器上开发时,我将dll放在bin目录中,但是在将代码移动到生产环境之后,我不想为每个使用asp.net的部分单独创建一个bin目录。

我只需要移动.aspx和.aspx.cs文件。有没有办法加载非/bin目录中的dll(使用"using"语句指定)?看起来它自动查找/bin...


为什么你不想要一个bin文件夹?这就是ASP.NET的工作方式。 - John Sheehan
5个回答

6
你可以把DLL文件放在应用程序根目录的bin文件夹中,或者使用gacutil将其安装到全局程序集缓存(GAC)中(这需要程序集具有强名称和签名)。
我建议把它放在bin文件夹中。

3
值得注意的是,要将程序集加载到全局程序集缓存(GAC)中,它们需要具有强名称并进行签名。 - axel_c

3

.net应用程序查找位于项目/bin目录下和GAC(全局程序集缓存)中放置的系统共享DLL。

如果您的应用程序是一个.net应用程序(在IIS中配置为一个应用程序),但您有子文件夹中的aspx文件,则应看到根/b in文件夹。 如果/bin文件夹不止有几十个bin(这意味着您的应用程序组织存在问题),建议将dll保留在/bin中。


1

只需将其他dll目录添加到您的路径环境变量中。 必须重新启动asp.net进程/ visual studio才能使更改生效。 对我有用。


你能描述一下如何将目录添加到我的路径环境变量中吗?或者提供一个描述的链接吗? - Trisped

1

0

问题就在这里:由于它的组织结构很差(混合了ASP和ASP.NET),肯定没有正确配置...我认为现在最好有"10万个容器"。

谢谢大家!


尝试在IIS中安排一些配置,将其配置为一个应用程序和/或一个虚拟目录...多试试,也许你可以只使用一个/bin使其正常工作。 - zappan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接