存储组件DLL的位置?

时间:2013-02-17 09:59:02

标签: .net web-applications dll class-library bin

我目前正在将VB.NET网站迁移到VB.NET Web应用程序。以前我会将所有组件DLL(第三方类库)存储在bin文件夹中,它们将在运行时编译。我已经在我的新应用程序中手动添加了对DLL的引用,但是bin文件夹是存储这些额外DLL的理想位置吗?这是最佳实践,它会在我创建新构建时干扰应用程序生成的DLL吗?

很抱歉,如果这是一个非常基本的问题,我是Visual Studio中Web应用程序概念的新手。

2 个答案:

答案 0 :(得分:2)

作为一般规则,我从不直接在bin文件夹中放置任何内容。我总是允许构建过程将dll或其他文件复制到bin文件夹。

如果添加引用,并确保“copy local”设置为true,则将在构建期间复制dll。这具有许多优点,特别是在使用版本控制时。

至于你应该放置这些文件的位置,我通常在解决方案级别创建一个文件夹并将dll放在那里,然后我将它们作为该位置的引用添加。这样可以轻松地将它们检入版本控制(并标记为只读,就像许多版本控制系统一样)。

在bin文件夹中检查文件到版本控制时,会遇到很多问题。另一个问题是当你需要“清理”bin文件夹时,在那里有文件可能会导致问题。如果使用我所描述的方法,您可以随时删除bin文件夹中的所有文件。

更好的方法是使用NuGet包。如果您想要的文件不是现有NuGet包的一部分,那么您可以创建自己的文件并运行您自己的本地NuGet服务器。

答案 1 :(得分:1)

不,它不会干扰应用程序生成的dll。

如果这些是您在很多应用程序中使用的dll,您可以考虑在GAC中注册它们。

将它们放入垃圾箱可以轻松部署(通过简单地复制Web应用程序文件夹),如果您处于无法在GAC中安装dll的共享托管环境中,这可能是您唯一的选择