【发布时间】:2019-11-13 20:16:51
【问题描述】:
在“Microsoft.SqlServer.Management.Smo”nuget 包中有一个“Database”类,它有一个“InitTableColumns”方法。正如所述库中的任何方法一样,这个方法没有总结。更奇怪的是,它没有提到互联网(是的,认真的)。
尤其是MSDN Database class 页面。
那么,有人知道它的作用吗?
【问题讨论】:
-
听起来像是一些不小心暴露的内部喧嚣。为什么不使用像 ILSpy 这样的 IL 反编译器来看看呢?
-
@JeroenMostert,听起来很棒,但恐怕我不知道怎么做。 :D
-
构建/发布您的应用程序(使用包),导航到
bin文件夹,找到 SMO DLL 并将其拖入 ILSpy。找到方法,右键单击,展开“调用者”以查看代码的哪一部分调用它以及为什么调用它(我的猜测是某个构造函数或其他 init 方法)。我会自己做,但目前我无法访问 VS 实例。如果该方法没有记录在案,您几乎可以肯定实际上并不打算自己调用它,并且应该假装它不存在,因此反编译完全是为了好玩和获利。 -
@JeroenMostert,实际上,就像我在问题中所说/写的那样,SMO 库中的任何方法或属性都没有记录。在 VS 和 MSDN 中。
-
我怀疑这是迁移到新包的工件/保留。我几乎肯定旧版本的单个成员文档存在(当 SMO 包含在 SQL Server 本身中时)——但不幸的是,微软真的很擅长让旧文档消失,就好像它根本不存在一样,所以我不能支持我的主张。
标签: c# sql-server smo