rpatoriya
asked on
File or assembly name ADODB, or one of its dependencies, was not found.
Hi,
I am having trouble in deploying web application. Development was done using vb.net,asp.net,MSSql AND Crytal Report 10.0. I made a build to the development server and then move all aspx, rpt files and bin folder to the production server. Production server is running latest framework version and crystal report 10.
BUT...
When I try to access the page which has the crystal report call, it gives following error.
-------------------------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ------
File or assembly name ADODB, or one of its dependencies, was not found.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.IO.FileNotFoundExce ption: File or assembly name ADODB, or one of its dependencies, was not found.
Assembly Load Trace: The following information can be helpful to determine why the assembly 'ADODB' could not be loaded.
Stack Trace:
[FileNotFoundException: File or assembly name ADODB, or one of its dependencies, was not found.]
CrystalDecisions.CrystalRe ports.Engi ne.ReportD ocument. (Object C) +0
CrystalDecisions.CrystalRe ports.Engi ne.ReportD ocument.Se tDataSourc e(Object dataSet) +21
nyclaw.comps.web.IEYearlyF orm.Page_L oad(Object sender, EventArgs e) in c:\inetpub\wwwroot\nyclaw. comps_4_1\ IEYearlyFo rm.aspx.vb :78
System.Web.UI.Control.OnLo ad(EventAr gs e) +67
System.Web.UI.Control.Load Recursive( ) +35
System.Web.UI.Page.Process RequestMai n() +750
========================== ========== ========== ========== ========== ========== =====
ANYONE has any idea?
I am having trouble in deploying web application. Development was done using vb.net,asp.net,MSSql AND Crytal Report 10.0. I made a build to the development server and then move all aspx, rpt files and bin folder to the production server. Production server is running latest framework version and crystal report 10.
BUT...
When I try to access the page which has the crystal report call, it gives following error.
--------------------------
File or assembly name ADODB, or one of its dependencies, was not found.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.IO.FileNotFoundExce
Assembly Load Trace: The following information can be helpful to determine why the assembly 'ADODB' could not be loaded.
Stack Trace:
[FileNotFoundException: File or assembly name ADODB, or one of its dependencies, was not found.]
CrystalDecisions.CrystalRe
CrystalDecisions.CrystalRe
nyclaw.comps.web.IEYearlyF
System.Web.UI.Control.OnLo
System.Web.UI.Control.Load
System.Web.UI.Page.Process
==========================
ANYONE has any idea?
ASKER
It worked!!!! I really really appreciate your timely answer.
How do you know that - that one particular file was missing?
AND - why do I have to put it manually that file under bin folder? Isn't that, VS.net should add to the reference automatically like all other dlls??
if this is a required dll for our solution, why did it compile without being referenced?
I have 5-more web application to move to the server - do I have to do this with each and every web application which uses crystal report?
Any suggestion?
How do you know that - that one particular file was missing?
AND - why do I have to put it manually that file under bin folder? Isn't that, VS.net should add to the reference automatically like all other dlls??
if this is a required dll for our solution, why did it compile without being referenced?
I have 5-more web application to move to the server - do I have to do this with each and every web application which uses crystal report?
Any suggestion?
Well, I knew the file was missing because that's what the error message said: "File or assembly name ADODB, or one of its dependencies, was not found." I just know that the namespace ADODB is contained within adodb.dll.
The reason you have to put it in the /bin/ directory is because that is one of the first places the application looks when it can't find an assembly it needs. You could also put it a number of different places.
The reason VS.NET didn't add the reference could be a number of reasons. First, it could have not cared because on your development machine the assembly was in the GAC and it figured any other machine would have it there too. The other reason could be because it wasn't directly referenced by your application; it was referenced by an assembly your application referenced (Crystal Reports).
Check out this knowledge base article; it might help you figure out how to make sure the other machines get the assembly:
http://support.microsoft.com/default.aspx?scid=kb;en-us;321688
The reason you have to put it in the /bin/ directory is because that is one of the first places the application looks when it can't find an assembly it needs. You could also put it a number of different places.
The reason VS.NET didn't add the reference could be a number of reasons. First, it could have not cared because on your development machine the assembly was in the GAC and it figured any other machine would have it there too. The other reason could be because it wasn't directly referenced by your application; it was referenced by an assembly your application referenced (Crystal Reports).
Check out this knowledge base article; it might help you figure out how to make sure the other machines get the assembly:
http://support.microsoft.com/default.aspx?scid=kb;en-us;321688
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
I'd try copying adodb.dll from C:\Program Files\Microsoft.Net\Primar