2009-08-05 16 views
4

如何在我的bin文件夹中为我的ASP.NET应用程序提取多个dll,将它们组织到独立的文件夹中,并将它们留在bin目录下,以便它们仍然可以轻松访问应用程序,就好像它们位于bin的根目录?我想减少怪异的dll列表并将它们分组到与其核心目的相关的文件夹中。如何在ASP.NET中的bin目录下将我的dll组织到多个文件夹中?

+2

正确命名了程序集文件名例如somenamespace.somecontext.classname有助于某种方式。不回答你的问题,但这是我'管理'长长的dll列表。 – 2009-08-06 01:30:07

回答

4

通过使用web.config文件并指定<probing>元素,可以使应用程序探测用于加载程序集的其他目录。我不清楚它是否适用于网站类型的项目,因为它几年前还没有。但是,它应该与Web应用程序类型项目一起使用。

<configuration> 
    <runtime> 
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
     <probing privatePath="bin\subdir"/> 
    </assemblyBinding> 
    </runtime> 
    <system.web> 
     .... 
     .... 
    </system.web> 
</configuration> 
+1

出现了,当时我正在写我的答案:) – 2009-08-05 17:18:49

+0

这是我的问题的答案,但我希望得到有关此问题的最佳做法的反馈。 – Achilles 2009-08-05 18:29:27

+1

他们加入这个功能的原因是,你可以灵活地处理情况。虽然总是有最佳做法,但也总是存在一些拐角案例。我希望看到一些证据,说明为什么它很糟糕,而不是“不这样做”。 – womp 2009-08-05 18:33:39

1

不要这样做。即使它有效,也不会被其他人理解。

如果您对bin文件夹中的程序集数量感到困扰,那么请不要看那里。

+0

我们有明确定义的代码模块。我想使用目录结构在某种意义上记录哪些dll与代码的特定部分相关联。有关这种方法的任何建议? – Achilles 2009-08-05 16:59:50

+1

是的,再次,不要这样做。这根本不是它的工作原理。使用文档进行文档编辑,但不要使用文档或任何其他_implementation_文件夹。 – 2009-08-05 17:05:13

+0

我也是,不要那样做! – Juri 2009-08-05 17:52:57

0

是你试图组织编译后生成的应用程序生成的dll或应用程序使用的第三方和外部dll?

如果是后者,而且您还没有这样做,则可以将这些组织到您在应用程序外部(但在解决方案内部)选择的任何层次结构中。然后您可以从那里引用dll。

试图组织asp.net编译器生成的文件感觉就像游动上游。

相关问题