Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在T4中使用System.Reflection.Assembly.Load(System.IO.File.ReadAllBytes(path))会产生什么后果?_Reflection_Memory Leaks_Code Generation_T4_Vsx - Fatal编程技术网

在T4中使用System.Reflection.Assembly.Load(System.IO.File.ReadAllBytes(path))会产生什么后果?

在T4中使用System.Reflection.Assembly.Load(System.IO.File.ReadAllBytes(path))会产生什么后果?,reflection,memory-leaks,code-generation,t4,vsx,Reflection,Memory Leaks,Code Generation,T4,Vsx,因此,这是一种解决方法,可以避免在不锁定二进制文件的情况下,使用T4来反映或读取项目或解决方案中的其他文件。这些评论暗示了一个记忆问题 评论谈到了无卸载的缺点,这会在您工作时被垃圾收集吗 如果T4使用此代码生成某些内容,更改其工作的文件或T4,然后重新运行T4,是否会导致内存泄漏?这取决于程序集的数量和大小。T4在25次运行后回收代码生成AppDomain,因此这可能不是问题。更多信息:我认为最好的方法是制作程序集的卷影副本 多谢各位 缪斯VSE扩展 System.Reflection.Asse

因此,这是一种解决方法,可以避免在不锁定二进制文件的情况下,使用T4来反映或读取项目或解决方案中的其他文件。这些评论暗示了一个记忆问题

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


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

这取决于程序集的数量和大小。T4在25次运行后回收代码生成AppDomain,因此这可能不是问题。更多信息:

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

多谢各位 缪斯VSE扩展

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