【问题标题】:Get all assemblies from a solution when using t4 templates, not the current executing assembly使用 t4 模板时从解决方案中获取所有程序集,而不是当前正在执行的程序集
【发布时间】:2011-12-08 14:17:52
【问题描述】:

我正在使用 T4 模板来尝试输出我的解决方案中使用的所有程序集。但是,在 .tt 文件中,所有加载的程序集都与父项目或解决方案无关,因为我认为这些都是构建管理器所需的程序集。

我想在解析 .tt 文件时遍历当前解决方案中的所有程序集。 有什么方法可以实现吗?

【问题讨论】:

    标签: c# visual-studio reflection t4


    【解决方案1】:

    很遗憾,在 T4 中反映当前解决方案中的程序集将不起作用。这是因为程序集一旦加载,就无法卸载,除非您卸载整个 AppDomain。实际上,这意味着在您第一次反映程序集后,程序集将变为写锁定状态,您只能通过退出 Visual Studio 来解锁它们。

    一种可能的解决方法是使用自省而不是反射,如here 所述(包括示例代码)。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多