最后,报告一个答案,微软支持帮助获得:
出现此问题的原因是具有 Authenticode 签名的 .NET Framework 2.0 托管程序集需要比平时更长的时间来加载。加载具有 Authenticode 签名的 .NET Framework 2.0 托管程序集时,始终会验证签名。
此外,由于各种其他设置,.NET Framework 2.0 托管程序集的加载时间可能比平时更长。例如,由于网络配置的原因,.NET Framework 2.0 托管程序集的加载时间可能比平时要长。
这是 Microsoft KB,它描述了问题并为 .NET Framework 2.0 提供了修补程序但是这个修补程序并没有解决加载时间过长的问题,而是通过在 app.config 中设置 generatePublisherEvidence 参数来增加在 .NET 中禁用签名验证的能力:) !注意:如果您有 .NET Framework SP2,则不需要修补程序,只需在 app.config 中设置 generatePublisherEvidence 参数。
http://support.microsoft.com/kb/936707 - 修复:具有 Authenticode 签名的 .NET Framework 2.0 托管应用程序需要比平时更长的时间才能启动。
要解决此问题,您可以使用此配置设置在 .NET Framework 2.0 托管应用程序中禁用签名验证。您可以在应用程序配置文件中使用此配置设置。为此,请将以下代码添加到 .NET Framework 2.0 托管应用程序的 .exe.config 文件中:
<configuration>
<runtime>
<generatePublisherEvidence enabled="false"/>
</runtime>
</configuration>
如果您的应用程序托管在 IIS 中,请更改以下内容之一: C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet.config C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG\machine .config
注意:在 x64 机器上,您还必须更改以下之一: C:\Windows\Microsoft.NET\Framework64\v2.0.50727\aspnet.config C:\Windows\Microsoft.NET\Framework64\v2.0.50727\CONFIG\机器配置