Reputation: 555
Should not crystal report 2005 of vs2005 and crystal report 2010 support each other?
At least if i have CR2005 in my PC and i Upgrade to CR2010 it should had worked. I'm a developer and i have the right to install every version of CR and if i'm a user of CR they should be the one who should make it compatible.
Find out a statement from SAP:
As each version of Crystal Reports has its' own specific runtime which must be correctly deployed, it is critical that the deployed runtime be in agreement with the Crystal Reports assemblies for Visual Studio .NET referenced in your project.
Am i Wrong or Right?
Upvotes: 0
Views: 7104
Reputation: 26262
For the most part, the current version of CR (whatever that may have been) will be able to read older versions of the file format. If you try and save it, however, the file will be update to the current-version's format.
That said, older versions of CR (v5 and earlier, I think) used to use Fetch()
and Store()
to pass information between sub-reports and their container; these functions were contained in a UFL. When they switched architectures to use the Shared
variable scope, the UFL wasn't automatically included in the installation; it needed to be manually added. This decision 'broke' a lot of reports. While this isn't exactly a file-format-compatibility issue, it's the only time I can recall that they (SAP nee BusinessObjects nee Crystal Decisions nee Seagate Software) acted with such impunity.
Upvotes: 0
Reputation: 12731
Crytsal Report REPORTS mantain compatibilty in the different versions;
when you start working a report using a different version, the IDE just advises you saying 'the report was edited with a different version'.
Anyway, reports can be used on different runtimes, you don't need to modify them.
The solution you work, (in my case it's a WEB APPLICATION) on should match the runtime installed on the server where the application is deployed.
Anyway, there's a web.config
workaround that will make the application work with different runtime, too:
<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>
where oldVersion is the version you use for development and newVersion is the version installed on the server.
Upvotes: 1