.NET MSHTML PIA在某些计算机上导致应用程序启动时间非常慢

时间:2013-07-22 15:42:39

标签: .net wpf mshtml

我有一个.NET 3.5 WPF应用程序,它引用并使用Microsoft.MSHTML主互操作程序集。在我的开发机器上,应用程序的热启动时间非常快,通常< 1秒。然而,在生产机器上它是~10秒(完全不可接受)。

我做了一些研究,发现它们实际上是两个版本的MSHTML PIA,其中一个是完全签名的,另一个是没有完全签名的,或类似的东西。我从我的开发机器上的GAC中检索了完全签名的那个,以便放置生产机器,而不是我正在做的那些将C:\Program Files\Microsoft.NET\Primary Interop Assemblies放在生产机器上的那个。起初这解决了这个问题,显然这是一个安全性问题,“未完全签名”的PIA必须经过“验证”或者像这样的一些类似ms的废话。

现在,似乎即使这样也不起作用,应用程序仍然需要大约10秒才能加载(暖),几乎所有这些都是由MSHTML引用引起的。

我可以完全控制它将运行的所有生产机器的应用程序和配置(系统映像),因此我可以更改我需要的任何工作(BTW一切都运行Windows 7与IE 9)

显然可以生成自己的mshtml interop包装器,但我不确定如何执行此操作或是否有帮助。

1 个答案:

答案 0 :(得分:0)

解决方案是简单地将以下行添加到我的app.config文件中:

<runtime>
    <generatePublisherEvidence enabled="false"/>
</runtime>