我正在使用T4模板来尝试输出我的解决方案中使用的所有程序集。但是,在.tt文件中,所有已加载的程序集与父项目或解决方案无关,因为我认为这些是构建管理器所需的所有程序集。
我想在解析.tt文件时迭代当前解决方案中的所有程序集。 有没有办法实现这个目标?
答案 0 :(得分:2)
不幸的是,从T4中反映当前解决方案中的程序集将不起作用。这是因为除非卸载整个AppDomain,否则无法卸载程序集一旦加载。在实践中,这意味着在第一次反映之后,程序集将变为写入锁定,并且您只能通过退出Visual Studio来解锁它们。
一种可能的解决方法是使用Introspection而不是反射,如here所述(包括示例代码)。