1

我想创建自己的自动“解决”功能。在 VS 中,当您右键单击并选择“解决”时,它会为您提供选项,并在选择一个时,将必要的“使用 ...”语句添加到该文件中。

我想更进一步:

  1. 我想在发生更改时解析文本以查找可能需要的任何引用,而不是下划线并等待用户“解决”。
  2. 我不仅要提供“使用 ...”语句,还要弄清楚在项目中要引用哪个 DLL。在 VS 中,如果您已经引用了正确的库,您只会得到“解决”。

现在,为了降低复杂性:

  1. 我只关心 C#/VS/.NET 附带的内置 .NET 库。

我知道在某些情况下,甚至 .NET 类也会重叠(例如 System.Threading 和 System.Windows.Forms 中的 Timer),但它们是例外。

所以,我的问题是,是否有一些列表/映射可以将所有 .NET 类映射到“使用 ...”语句和库引用(包括标准文件路径)?或者,有什么方法可以让我自动生成这样的列表吗?

4

2 回答 2

2

您可以寻找提供此功能的 3rd 方产品。市场上有一个很棒的产品 ReSharper,它从源代码文件(而不是编译代码)构建符号数据库,它也快速且优化。如果它已经从解决方案中的其他项目知道此程序集,它确实允许您解析符号并添加对程序集的引用。我相信它不是唯一的产品。

从系统程序集中构建类列表并不难。只需从标准安装中创建系统程序集列表,加载每个程序集并创建公共类列表。查看 System.Reflection.Assembly 方法,例如 Load() 和 GetTypes()

于 2012-09-07T03:27:31.780 回答
1

我认为您可以列出 GAC 中的 DLL,并使用反射列出每个 DLL 的所有公共类。

通过这种方式,您可以创建一个映射,并确定要添加哪个引用以及要添加哪个 using 语句。

于 2012-09-07T03:23:19.527 回答