【问题标题】:What are the ramifications of using System.Reflection.Assembly.Load(System.IO.File.ReadAllBytes(path)) in T4?在 T4 中使用 System.Reflection.Assembly.Load(System.IO.File.ReadAllBytes(path)) 的后果是什么?
【发布时间】:2011-02-05 18:43:30
【问题描述】:
System.Reflection.Assembly.Load(System.IO.File.ReadAllBytes(path)) 

因此,这是一种解决方法,即在不锁定此 post 的二进制文件的情况下,无法使用 T4 反映或读取项目或解决方案中的其他文件。 cmets 表示内存问题。

cmets 谈到不卸载的缺点,这会在您工作时被垃圾收集吗?

如果您 T4 使用此代码生成某些内容,更改其工作的文件或 T4 然后重新运行 T4,会不会是内存泄漏?

【问题讨论】:

    标签: reflection memory-leaks code-generation t4 vsx


    【解决方案1】:

    这取决于组件的数量和大小。 T4在25次运行后回收代码生成AppDomain,所以可能不会有问题。更多内容:http://www.olegsych.com/2008/05/t4-architecture/

    【讨论】:

      【解决方案2】:

      我认为最好的方法是制作程序集的卷影副本

      谢谢 Muse VSExtensions

      【讨论】:

        猜你喜欢
        • 2011-01-03
        • 1970-01-01
        • 2012-03-08
        • 1970-01-01
        • 2012-04-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-07-06
        相关资源
        最近更新 更多