我发现自己在各种应用程序中一遍又一遍地使用了相当多的代码。我最近决定花时间将它们全部组织在一个位置,这样我就可以从我的任何解决方案中引用它们。我从一个类库项目开始,添加了一堆不同的函数和一些我使用的派生控件。一些函数由派生控件使用,也可以直接从应用程序调用。我构建了项目并开始在我的项目中使用 DLL。
我对这个自定义 DLL 有几个问题(我使用的是 Visual C# 2010 Express):
- 我注意到的第一件事是它似乎不像微软的股票库那样工作。例如,我可以“使用 System.Windows.Controls;” 在程序中,但我只能使用 using 指令引用自定义库的命名空间。如果这样做有意义的话,以类似的方式组织我的课程会很好。是否可以像 Microsoft 那样嵌套类?
编辑:例如......如果我在我的应用程序代码顶部键入“使用系统。”,我会得到一堆子命名空间可供选择。我继续输入“Windows。”,我得到了更多的子类别。如果我添加对 MyCustom.dll 的引用并开始输入“使用 MyCustom。”,我看不到我的任何类或子类。我只是在问如何在我的类库中组织事物,使它们的行为类似于库存库。
用我所有的可重用代码制作一个大的 DLL 文件是个好主意吗?我目前没有大量代码,但我想留出扩展空间。对此的最佳做法是什么?
在为我的应用程序制作安装程序时如何处理我的 DLL?我通常使用 InnoSetup 来制作我的安装程序。
这是我主要关心的问题...假设我在 Application1 中使用自定义 DLL 中的一个函数,并且有人安装了它。我稍后会为我正在构建的 Application2 添加一些功能或更改该功能。如果新功能破坏了 Application1 或以不合需要的方式更改了某些内容,那么当用户安装 Application2 时会发生什么?我的自定义 DLL 是在应用程序之间共享,还是每个应用程序都有自己的 DLL 版本?显然,我会构建一个新版本的 Application1 以使其与新的 DLL 一起工作,但不能保证用户会更新它。
谢谢!