views:

243

answers:

5

Is there a way to make VS2008 work with the old (vs2005 crystal reports) assemblies and not require any updates to be installed in the client machines?

We have upgraded a Visual Studio 2005 .net 2.0 solution to Visual Studio 2008. The purpose is to take advantage of the IDE improvements and because it supports multi targeting. The solution still has to be built against .net 2.0.

It all works as advertised, we rebuild and run it in a machine with only .net 2.0 installed. But during testing we get an exception when we try to show a Crystal Report that is included with the application.

Then upon review we find out that without telling us, Visual Studio changed the references to the crystal assemblies and pointed our solution to the updated versions that come with vs2008, which requires crystal runtime be updated on client machines.

We did try removing the references and adding the old ones but it won't compile.

A: 

We tried this and ultimately just ended up upgrading all of our machines internally to the latest and (not so) greatest.

Josh Bush
A: 

I would just bite the bullet and upgrade. I've found some performance improvements in the Crystal Reports 2008 for some data intensive reports.

Conrad
A: 

We ran into the same problem. You can have the project reference the old DLLS, which works but can lead to DLL hell. Having fought that kind of battle before, I can't recommend it.

After exploring the Crystal Reports site for a long time, I came to the conclusion that there is no good way to solve this problem short of upgrading to Crystal Reports 2008 or switching to a different reporting engine.

In our case, we had not yet developed a large number of Crytal Reports, and our reporting needs are modest. We switched to the Microsoft Reporting Technology that is bundled into Visual Studio. It took a bit of effort to figure out, but so far it looks like it will do anything we will ever need. Not upgrading Crystal Reports saved us a non-trivial amount of money.

Hope this helps.

RB Davidson
+1  A: 
  1. don't use Crystal reports

  2. You could try to put all reports in a separate project. Then create a second visual studio solution in VS2005 which uses the same project (add existing project). Then use VS2005 for editing your reports. Create a library directory for your references in vs2008 and reference the vs2005 dll's.

Don't know for sure if it works, but it could be worth a try.

Alex
Interesting idea, I'm thinking it would be complicated to implement but simpler than upgrading 100s of client machines. I'll check how much effort it would take since there are many reports and report viewers.
jvanderh
A: 

don't use Crystal reports

You could try to put all reports in a separate project. Then create a second visual studio solution in VS2005 which uses the same project (add existing project). Then use VS2005 for editing your reports. Create a library directory for your references in vs2008 and reference the vs2005 dll's.

Don't know for sure if it works, but it could be worth a try.