VB.NET在运行时确定项目的导入名称空间

时间:2016-03-25 06:58:04

标签: .net vb.net reflection namespaces assembly-references

在VB.NET(或C#)中,如何在运行时确定在Project属性中导入了哪些名称空间?我将使用它进行动态编译,我希望动态代码自动拥有与其父项目相同的Imports。

我已经看到“已经使用Reflection(DotNET)在程序集中查找所有命名空间”。它和我发现的其他例子似乎并没有解决我的问题,因为我发现它们提供了所有项目参考的列表。是的,我希望所有这些都可以访问,但有些是通过完全限定的名称,而不是全部导入到根命名空间。我想仅通过现有的Project Properties的“Imported Namespaces”列表来选择,而不是在我的动态执行类中维护一个单独的冗余列表。

1 个答案:

答案 0 :(得分:1)

编译的程序集无法实现您所描述的内容,因为它是一个编译器功能。编译后只有使用类型的信息(你可以通过反射得到什么),而不是源代码中引用它们的方式。