1
System.Reflection.Assembly.Load(System.IO.File.ReadAllBytes(path)) 

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

评论谈到了不卸载的缺点,这会在你工作时被垃圾收集吗?

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

4

2 回答 2

2

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

于 2010-04-09T22:23:26.520 回答
0

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

谢谢 Muse VSExtensions

于 2010-04-29T09:07:33.137 回答