on 10-07-2010 3:53 PM
Since I can't get the help to work and seaching this forum did not give me a valid answer (well one that made sense) I am posting it as a question.
I am using VS2010 and .NET 4.0 with WPF.
I have the below code which gets data and loads it into a query definded as CollectionSummaryRecord. The CollectionSummary report is defined in the assembly and works if I don't change the data source. CR_ReportViewer is a WPF report viewer.
In my searching I got the impression I should not be using "SetDataSource" but am not sure what to use. I am trying to use an in memory value and not the SQL directly. Intellisense shows SetDataSource taking an IEnumerable<T> so it seems logical to use it.
Code:
var rd = new reports.CollectionSummary();
var data = from p in dl.OpenCBs
group p by new { p.AreaCode, p.Number } into g
select new CollectionSummaryRecord()
{
PhoneNumber = string.Format("({0}) ", g.Key.AreaCode, g.Key.Number),
Collected = g.Sum(p => p.Amount_Collected)
};
rd.SetDataSource(data);
this.CR_ReportViewer.ViewerCore.ReportSource = rd;
Error message:
Could not load file or assembly 'file:///C:\Program Files\SAP BusinessObjects\SAP BusinessObjects Enterprise XI 4.0\win32_x86\dotnet1\crdb_adoplus.dll' or one of its dependencies. The system cannot find the file specified.
The missing file exists on my system just not in that directory, it is the win32_x86 directory above the dotnet directory. Note there is no such directory as "dotnet1" (with '1'), there is one without the '1'.
Thanks for any help...
Regards,
John
Answer to self, most likely not the correct way but it works.
Create a "dotnet1" directory.
Copy the missing file to the "dotnet1".
Add "useLegacyV2RuntimeActivationPolicy" to the project "app.config" file as below.
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>
Regards,
John
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Thanks for the link, I looked and did not see it in my searching before. I have a great deal of trouble finding anything in the threads here, most likely just me....
Since the link you sent is locked I will make the following comment which everyone might know but was not mentioned.
The reason there was no problem with the 3.0/3.5 .NET assemblies is 2.0/2.0/3.5 install 2.0. The 2.0 is part of the package. 4.0 .NET does not ship with 2.0 so if you build a pure 4.0 package you don't have to have 2.0/3.0/3.5 on the box where it runs. Adding the cross loading flag is secondary and primary for secuity.
I consider this a major problem but I have the same problem with the Microsoft SMO assemblies so I guess it is not going to change for a while.
I would have liked to be able to tell my customer they only needed to install .NET 4.0 and be done with it but now it seems I have to tell them to install 3.5 which has 2.0 along with 4.0. Sort of defeats the whole one assembly thing.
Mostly 1.0 does not need to be installed so there is some hope that 2.0 will disapear but I have a feeling it will be a long time.
Regards,
John
Hi Everyone,
I am right now developing a windows application and is going to have a heavy usage of crystal reports for reporting.I have visual studio 2010 installed in my desktop and have installed both the runtime engine and cr4vs2010 packages, not to mention beta 2 versions. I am facing the same problem and have tried both the corrective measures but unfortunately neither of them worked for me.
Please guide me further to resolve this issue.
Thanks
Confirm the error is:
Could not load file or assembly 'file:///C:\Program Files\SAP BusinessObjects\SAP BusinessObjects Enterprise XI 4.0\win32_x86\dotnet1\crdb_adoplus.dll' or one of its dependencies. The system cannot find the file specified.
What OS?
Is it English OS?
Any other version of CR installed on the computer?
Ever had any other version of CR installed?
Ludek
Hi Ludek
Does this solution fix the same problem with VS.Net 2010? It looks like the suggested solution addresses problem in previous version of Visual Studio.
I have the following installed:
SAP CR Runtime Engine for 64 bit (13.0.0.99)
SAP CR version for Visual Studio 2010 (13.0.0.99)
Visual Studio 2010 Ultimate
Exception thrown:
System.IO.FileNotFoundException was unhandled
Message=Could not load file or assembly 'file:///C:\Program Files (x86)\SAP BusinessObjects\Crystal Reports for .NET Framework 4.0\Common\SAP BusinessObjects Enterprise XI 4.0\win64_x64\dotnet1\crdb_adoplus.dll' or one of its dependencies. The system cannot find the file specified.
Source=mscorlib
FileName=file:///C:\Program Files (x86)\SAP BusinessObjects\Crystal Reports for .NET Framework 4.0\Common\SAP BusinessObjects Enterprise XI 4.0\win64_x64\dotnet1\crdb_adoplus.dll
FusionLog==== Pre-bind state information ===
LOG: User = KEITH-PC\Keith.Harrison
LOG: Where-ref bind. Location = C:\Program Files (x86)\SAP BusinessObjects\Crystal Reports for .NET Framework 4.0\Common\SAP BusinessObjects Enterprise XI 4.0\win64_x64\dotnet1\crdb_adoplus.dll
LOG: Appbase = file:///F:/SQLQuotes Project 2010 FMSv4/bin/
LOG: Initial PrivatePath = NULL
Calling assembly : (Unknown).
===
LOG: This bind starts in LoadFrom load context.
WRN: Native image will not be probed in LoadFrom context. Native image will only be probed in default load context, like with Assembly.Load().
LOG: Using application configuration file: F:\SQLQuotes Project 2010 FMSv4\bin\Fms.vshost.exe.Config
LOG: Using host configuration file:
LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework64\v4.0.30319\config\machine.config.
LOG: Attempting download of new URL file:///C:/Program Files (x86)/SAP BusinessObjects/Crystal Reports for .NET Framework 4.0/Common/SAP BusinessObjects Enterprise XI 4.0/win64_x64/dotnet1/crdb_adoplus.dll.
StackTrace:
at System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
at System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection, Boolean suppressSecurityChecks)
at System.Reflection.RuntimeAssembly.InternalLoadFrom(String assemblyFile, Evidence securityEvidence, Byte[] hashValue, AssemblyHashAlgorithm hashAlgorithm, Boolean forIntrospection, Boolean suppressSecurityChecks, StackCrawlMark& stackMark)
at System.Reflection.Assembly.LoadFrom(String assemblyFile)
at CrystalDecisions.ReportAppServer.DataSetConversion.DataSetConverter.DataSetProcessingDelegate(IntPtr arg)
InnerException:
I only get this exception on deployment machine, not on development machine.
Many thanks
Keith
This solved my problem
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>
Add it on the app.config before </configuration>
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I had to resort to setting the .NET Framework target to .NET 3.5 in my build configuration as well as installing the CRRedist2008_x86.msi. This resolved the issue for my build.
With the previous configuration though I could not get past the error: FileNotFoundException was unhandled ...\dotnet1\crdb_adoplus.dll.
Even retargeting for an x86 platform and reinstalling the 32 bit version runtimes for .NET 4.0 instead of the 64 bit runtimes.
Well, it Is working now, even if only on .NET 3.5.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
87 | |
10 | |
10 | |
10 | |
7 | |
6 | |
6 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.