VB.NET 在运行时确定项目的导入命名空间
VB.NET determine project's imported namespaces at runtime
在 VB.NET(或 C#)中,如何在运行时确定项目属性中导入了哪些命名空间?我将使用它进行动态编译,我希望动态代码自动具有与其父项目相同的导入。
我已经 "Finding all Namespaces in an assembly using Reflection (DotNET)" 看过了。它和我发现的其他示例似乎无法解决我的问题,因为我发现它们提供了所有项目参考的列表。是的,我希望所有这些都可以访问,但有些可以通过完全限定的名称访问,而不是全部导入到根命名空间中。我想 select 仅通过现有项目属性的 "Imported Namespaces" 列表,而不是在我的动态执行 class.
中维护一个单独的冗余列表
编译后的程序集无法实现您所描述的内容,因为它具有编译器功能。编译后只有使用类型的信息(你可以通过反射获得),而不是它们在源代码中的引用方式。
在 VB.NET(或 C#)中,如何在运行时确定项目属性中导入了哪些命名空间?我将使用它进行动态编译,我希望动态代码自动具有与其父项目相同的导入。
我已经 "Finding all Namespaces in an assembly using Reflection (DotNET)" 看过了。它和我发现的其他示例似乎无法解决我的问题,因为我发现它们提供了所有项目参考的列表。是的,我希望所有这些都可以访问,但有些可以通过完全限定的名称访问,而不是全部导入到根命名空间中。我想 select 仅通过现有项目属性的 "Imported Namespaces" 列表,而不是在我的动态执行 class.
中维护一个单独的冗余列表编译后的程序集无法实现您所描述的内容,因为它具有编译器功能。编译后只有使用类型的信息(你可以通过反射获得),而不是它们在源代码中的引用方式。