2011-05-16 66 views
2

ASP.NET網站是使用VS.NET 2005版本開發的,並使用了Crystal Reports。
現在同樣要升級到2008 VS.NET,但它顯示象下面這樣的錯誤:使用Crystal Reports參考遷移ASP.NET 2005到2008問題

錯誤469無法加載文件或程序 「CrystalDecisions.CrystalReports.Engine,版本= 10.2.3600.0, Culture = neutral,PublicKeyToken = 692fbea5521e1304'或其 依賴項之一。該系統找不到指定的文件。 C:\文件 和Settings \管理員\桌面\ SVSS \ ssvs1002201\ Web.Config中29

在web.config文件中,代碼是這樣寫的,其中這個錯誤指。

<compilation debug="true"> 
     <assemblies> 
      <add assembly="CrystalDecisions.CrystalReports.Engine, Version=10.2.3600.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/> 
      <add assembly="CrystalDecisions.ReportSource, Version=10.2.3600.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/> 
      <add assembly="CrystalDecisions.Shared, Version=10.2.3600.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/> 
      <add assembly="CrystalDecisions.Web, Version=10.2.3600.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/> 
      <add assembly="CrystalDecisions.ReportAppServer.ClientDoc, Version=10.2.3600.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/> 
      <add assembly="CrystalDecisions.Enterprise.Framework, Version=10.2.3600.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/> 
      <add assembly="CrystalDecisions.Enterprise.InfoStore, Version=10.2.3600.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/> 
      <add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> 
      <add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> 
      <add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> 
      <add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/></assemblies></compilation> 

Crystal Reports已安裝(VS2008默認安裝)。我們是否需要更改參考?
請指導我如何解決這個問題。

+0

點擊此處下載必要的文件http://hellowahab.wordpress.com/2012/02/29/could-not-load-file-or-assembly-crystaldecisions-enterprise-framework-version10-2-3600-0- cultureneutral-publickeytoken692fbea5521e1304-or-one-its-dependencies/ – 2012-02-29 11:24:02

回答

1

這是因爲,在水晶報表版本是在2008年。NET

你應該用新的版本替換舊版本字符串這樣 版本改爲= 10.2.3600.0到版本= 10.5.3700.0

在您的系統中找到Crystal報告的確切版本的替代解決方案是,

右鍵單擊項目文件夾並選擇引用。現在選擇所有水晶報告參考,然後按確定。 它應該使用正確的版本自動更新web.config文件。 (您可以刪除web.config中的舊水晶報表參考代碼)。

+0

在整個網站上爲我替換作品。 – AjayR 2011-05-16 11:32:26

+0

我將數據從舊機器複製到新機器,並得到相同的錯誤。我安裝了Crystal Reports運行時並更改了版本。它仍然給新的版本號帶來同樣的錯誤。任何幫助表示讚賞 – goutam 2016-06-28 22:14:17

3

最佳解決方案是在服務器上安裝相同的運行時。
無論如何,你可以使用此XML在你的app.config或web.config中:

<runtime> 
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
     <dependentAssembly> 
     <assemblyIdentity name="CrystalDecisions.CrystalReports.Engine" publicKeyToken="692fbea5521e1304" culture="neutral"/> 
     <bindingRedirect oldVersion="xx.x.xxxx.x" newVersion="yy.y.yyyy.y"/> 
     </dependentAssembly> 
     <dependentAssembly> 
     <assemblyIdentity name="CrystalDecisions.Shared" publicKeyToken="692fbea5521e1304" culture="neutral"/> 
     <bindingRedirect oldVersion="xx.x.xxxx.x" newVersion="yy.y.yyyy.y"/> 
     </dependentAssembly> 
     <dependentAssembly> 
     <assemblyIdentity name="CrystalDecisions.ReportSource" publicKeyToken="692fbea5521e1304" culture="neutral"/> 
     <bindingRedirect oldVersion="xx.x.xxxx.x" newVersion="yy.y.yyyy.y"/> 
     </dependentAssembly> 
     <dependentAssembly> 
     ... 
    </assemblyBinding> 
    </runtime> 

其中oldVersion是你用於開發和NEWVERSION版本是安裝在服務器上的版本

+0

對於那些引用,將「特定版本」設置爲false還不能解決這個問題嗎? – CodeCaster 2013-02-13 16:55:49

+0

不知道,你試過了嗎? – 2013-02-14 11:38:46

+0

我現在有,並沒有。現在將使用這個,稍後將使用@ Ajay的解決方案重新構建。謝謝。 – CodeCaster 2013-02-14 11:40:45