Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/263.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
C# 表达式\主机程序集的数量不断增加_C#_Winforms_Reportviewer - Fatal编程技术网

C# 表达式\主机程序集的数量不断增加

C# 表达式\主机程序集的数量不断增加,c#,winforms,reportviewer,C#,Winforms,Reportviewer,我有一个WinForms 2.0应用程序,其中包含大约18个使用Microsoft ReportViewer创建的报告。 每次启动报表时,都会创建一个动态程序集(表达式\u host\uuxxxxxx.dll)。此动态程序集加载到内存中,并在应用程序运行时消耗资源的剩余时间内保留在内存中。 即使我们只有一个报告,并且我们启动这个ie 3次,我们在内存中也会得到3个这样的表达式宿主程序集 有没有办法阻止创建这些程序集或在完成后卸载这些程序集 TIA我已经找到了解决方案。在reportviewer控

我有一个WinForms 2.0应用程序,其中包含大约18个使用Microsoft ReportViewer创建的报告。 每次启动报表时,都会创建一个动态程序集(表达式\u host\uuxxxxxx.dll)。此动态程序集加载到内存中,并在应用程序运行时消耗资源的剩余时间内保留在内存中。 即使我们只有一个报告,并且我们启动这个ie 3次,我们在内存中也会得到3个这样的表达式宿主程序集

有没有办法阻止创建这些程序集或在完成后卸载这些程序集


TIA

我已经找到了解决方案。在reportviewer控件上,您可以表示在所谓的沙盒应用程序域中执行报告:

`rpv1.LocalReport.ExecuteReportInSandboxAppDomain();`

这不会阻止创建表达式宿主程序集,因为这些程序集是计算报表中使用的表达式所必需的。但是,它将在新的应用程序域中启动报告。报告完成后,新的应用程序域将被卸载,因此,该域中加载的所有程序集也将被卸载。

这返回了一条不推荐的消息,还有其他想法吗?