我有一個引用第三方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