2013-03-02 58 views
1

据我所知,这是一个额外的库,由微软预编译,但是,例如,是否有一个仅在阳光下添加每个库的缺点?我也可以看到,默认情况下,将最常用的库添加到任何项目中。什么是视觉工作室的参考?

当我的应用程序被编译时,它实际上是否对输出二进制文件做任何事情,因为我的印象是,大部分这些库都是.NET框架的一部分?

因此除了自定义库之外,还有什么意义呢?

+0

您的应用程序会不会变得相当庞大,以至于太阳下的图书馆呢? – 2013-03-02 10:36:49

+0

嗯,我的想法是,如果库全部包含在运行时中,为什么它们会被包含在输出二进制文件中? – Cheetah 2013-03-02 10:49:05

+0

你的权利,你的输出二进制不会很大。你的项目会变得非常庞大,甚至需要很长时间来编译这么多的引用来检查? – 2013-03-02 10:58:07

回答

2

没有什么能阻止你这样做。编译器会因为必须从所有这些程序集的元数据中加载所有声明而陷入困境,但在慢速磁盘上应该不会超过几秒钟。很确定的标识符查找是摊销O(1),所以它不应该明显放慢实际编译。 .NET框架中的命名空间名称经过仔细挑选,永不会导致冲突。输出程序集将只包含实际在代码中使用的引用列表。

唯一的反对意见是,它不是优雅。你的队友会在你背后低声说话。无论谁选择来维持你的项目有一天都会在他看到你的项目时立即开始寻找另一份工作。被认为是马虎是程序员最糟糕的一种标签,这是一个非常难以生存的声誉。

+0

查看到现在为止,我一直在删除所有可以参考的内容,只是因为我认为它在菜单中看起来更整齐一些,但它让我想到了......我是否真的妨碍了自己,是否从Intellisense或类似内容中删除了某些内容?我似乎可以摆脱大多数项目的系统参考... – Cheetah 2013-03-02 11:29:52

+0

好吧,不要通过微观管理来挫败自己。项目模板预先选择了常用参考,如果不修剪这些参考,没有人会对它持有。您不会通过删除未使用的参考来“阻碍”自己,除非在您进行更改时可能需要稍后添加它。 – 2013-03-02 11:43:10