2013年6月19日 星期三

Crystal Report無法載入檔案或組件System.Web.Extensions

Crystal Report在執行時期出現以下錯誤:

無法載入檔案或組件 'System.Web.Extensions, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' 或其相依性的其中之一。 找到的組件資訊清單定義與組件參考不符。 (發生例外狀況於 HRESULT: 0x80131040)

 找了很久以為是參考的dll檔版本錯誤,結果發現dll並沒有直接相關,後來找到原因是web.config的<runtime>(組件繫結)設定要修改,由原本的1.1.0.0改為2.0.0.0,如下:

 <!--組件繫結-->
<runtime>
    <!--組件版本重新導向和組件位置-->
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
        <!--封裝組件的繫結原則和組件位置-->
        <dependentAssembly>
            <!--包含有關組件的識別資訊-->
            <assemblyIdentity name="System.Web.Extensions" publicKeyToken="31bf3856ad364e35"/>
            <!--將一個組件版本重新導向為另一個版本-->
            <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="3.5.0.0"/>
        </dependentAssembly>
    </assemblyBinding>
</runtime>