我有一个引用第三方DLL的.NET 4.0应用程序,它显然不支持4.0。在配置文件中使用useLegacyV2RuntimeActivationPolicy =“true”可在本地运行时运行,但在IIS 7.5服务器上运行时不会运行。.net useLegacyV2RuntimeActivationPolicy在IIS 7.5中不起作用
的第三方软件是http://crystal-decisions-inc.software.informer.com/,DLL的:
- CrystalDecisions.CrystalReports.Engine
- CrystalDecisions.ReportSource
- CrystalDecisions.Shared
本地机和Web服务器有安装了相同的Crystal Reports运行时CRRuntime_32bit_13_0_5.msi。
我的本地应用程序正在运行使用测试项目,这是一个Windows窗体应用程序。在App.config,它的工作原理时,这包括:
<configuration>
...
<startup useLegacyV2RuntimeActivationPolicy="true" >
</startup>
</configuration>
如果不包括,本地代码导致该异常:
“无法加载文件或程序集“C:\ Program Files文件( x86)\ SAP BusinessObjects \ Crystal Reports for .NET Framework 4.0 \ Common \ SAP BusinessObjects Enterprise XI 4.0 \ win32_x86 \ dotnet1 \ crdb_adoplus.dll'或它的某个依赖项,系统找不到指定的文件。
当我添加相同<启动>标签到Web.config的网站,它似乎没有任何区别是否存在或不存在。当这行代码被击中时,代码就会死掉;它不会抛出任何托管异常。
Google搜索的帮助,所有的页面基本上声明添加的配置设置固定它对于他们来说,通常引用这或有轻微的变体:
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>
但这并没有为我的应用程序。由于我无法从Web应用程序中获得实际的错误,因此我很遗憾下一步要去哪,帮助表示感谢。
我现在觉得这是关键,它是应用程序配置不web.config中;等待标记为答案,直到我们实际得到这个工作。我认为它可能实际上是aspnet.config文件... – Abacus
或IIS的可执行文件的app.config。想想看,你可以使用这个找到正确的配置文件:AppDomain.CurrentDomain.SetupInformation.ConfigurationFile – Tormod