Crystal Report Version=11.5.3700.0 - crystal-reports

Error is:
Could not load file or assembly 'CrystalDecisions.CrystalReports.Design, Version=11.5.3700.0, Culture=neutral, PublicKeyToken=692fbea5521e1304' or one of its dependencies. The system cannot find the file specified.
My web.config is:
This is a existing project. i already tried to sort out the problem using
http://www.businessobjects.com/jump/xi/crvs2010/us2_default.asp link. but i ineed Version=11.5.3700.0 assembly.
Please give me any solution.

You are compiling against a different version to the one that you are getting from that installation (that one is probably newer). This usually means that you have a version of the dlls in the GAC which is causing compilation to be against those dlls. You probably need to remove the dlls from the GAC and then install the version that you can redistribute on all of the development machines.

On the useful page SAP WIKI it's not clearly visible,
but CR 11.5 R2 SP6 has two assembly versions,
11.5.3300 for .NET 1.1 and 11.5.3700 for .NET 2.0.

Related

Could not load file or assembly error in .Net Standard 2.0 class library

I have a .NET Standard 2.0 class library project with installed Nuget package System.Data.SqlClient version 4.4.0 and a Windows Form .NET Framework 4.7 project that has a reference to that class library.
Installing the Nuget Package and building the solution is successful. but in runtime every time that the code reaches a method that has any thing from SqlClient assembly inside it (for example an instance from SqlConnection) it gets this error:
Could not load file or assembly 'System.Data.SqlClient,
Version=4.2.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or
one of its dependencies. The system cannot find the file specified.
Considering this question, I assume the problem was also there in the last major version of the Nuget package.
Edit
I downloaded the Nuget package and unzipped it and from \ref\netstandard2.0 folder copied the System.DataSqlClient.dll manually in \bin\Debug folder of my Windows Form Project and now it works. The exact situation also happened with Microsoft.Win32.Registry package. So I was almost convinced that it's my fault and I'm doing something the wrong way, but when I tested it with System.Drawing.Primitive Package it worked perfectly without any need to copy a dll. Now I'm really confused.
I guess you may have figured it out already but hope it would help someone - wasted some time too on this.
So, in order to make everything work you would need to reference System.Data.SqlClient in Windows Form project that is referencing your .NET Standard Library
From that point everything should be working like a charm
As you already mentioned System.Data.SqlClient.dll was not in output directory.
Sounds like .NET Standard Library haven't grabbed with itself dependent library binary. There is nothing like "Copy Local" option in .NET Standard references so I don't see any way to check or set this behavior too
I had same problem.
Solution for me was adding dependecy from nuget for latest System.Data.SqlClient at my .NET Standard Library project.
I had the same problem. The .NETStandard assembly was added as a reference to my WPF project. I needed to make changes in the .csproj of the WPF project.
The solution mentioned in https://github.com/dotnet/sdk/issues/901 fixes it.
Steps:
Edit your core .csproj file in notepad.
Add the below two lines in each that you find in it.
<RestoreProjectStyle>PackageReference</RestoreProjectStyle>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
Clean and rebuild your solution.
I had a similar problem, bindingRedirect helped in my case:
<bindingRedirect oldVersion="0.0.0.0-4.4.0.0" newVersion="4.4.0.0"/>

Should i go for the EF 4.2 update through nuget or a standalone installer?

I would also like to know how the GAC works when i am using a standalone installer ?
Will it override my existing assembly int the project ?
if i have the express edition vs 2010 which does not have nuget ,how do i best make use of these packages without breaking my existing stuff?
You're asking several different questions here.
Generally, the GAC always overrides the bin folder for a given version of an assembly. However, if the bin assembly has a different version, and your config file points to that version, it will use that instead of the GAC.
With VS Express that doesn't have the NuGet VSIX, using NuGet is definitely a bit harder. You need to get the NuGet command line tool, and run the install command to download packages, which you can then manually reference in your projects.

Regarding MS Enterprise Lib version issue

Our project is using a common class library project which reference enterprise library 3.0 for logging. We want to upgrade the EL to 5.0. For this, we installed Enterprise Library 5.0, added new logging block in the web.config file using the config tool.
We removed the previous references to 3.0 dlls in the project. After that we added the following dlls from location - C:\Program Files\Microsoft Enterprise Library 5.0\Bin
1.Microsoft.Practices.EnterpriseLibrary.Logging.dll
2.Microsoft.Practices.EnterpriseLibrary.Common.dll
We also registered the latest dlls (5.0) in GAC and uninstalled previous versions there.
However, we are getting the following error while running the app:
"Could not load file or assembly 'Microsoft.Practices.EnterpriseLibrary.Common, Version=3.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified. "
Please help :)
It appears that you have still references to version 3.1.0.0 of the Enterprise Library assemblies in the config.
Try the following:
Use a text editor to completely remove the Version, Culture, and PublicKeyToken attributes from every Enterprise Library element that contains these attributes.
Open your configuration file in the Enterprise Library version 5.0 configuration editor and then save it. This will add the correct version, culture, and public key token values to each element.
Also, check out the Migration Guide.

ASP.NET MVC2 with Mono 2.6.7 and MonoDevelop 2.6

When I edit my web project references, I can't find the System.Web.MVC2 assembly in the GAC.
That's not what I expected since the Synaptic Package Manager reports that libmono-system-web-mvc2.0-cil package is installed properly.
Assemblies in MonoDevelop's Edit References list are not taken from the GAC. This is also true of VS and .NET. The GAC is only meant to be used at runtime, not compile time.
When targeting Mono, MonoDevelop uses a system called "pkgconfig" for discovering assemblies. When targeting .NET, it uses the same "Assembly Folders" keys in the registry that VS does.
Note that in MD Preferences you can also add additional folders to be searched for pkgconfig files or assemblies - this is intended as an easier alternative to properly installing them onto the system.
Since you use Ubuntu, which breaks Mono into many tiny packages, it's possible that Mono's pkgconfig file for the assembly has been split off into a separate -dev package, so you might try looking for that (though I'm not sure whether 2.6.7 included the pkgconfig file - maybe you'd need 2.8).
Also, MonoDevelop 2.6 does not yet exist - you probably mean 2.4.
Try installing it to the GAC manually.
Not all assemblies need to be in the GAC. There may be a reason the ASP.NET MVC assembly is not installed in the GAC (ease of deployment?)
You are probably missing the libmono-cil-dev package.

How do I deploy dlls to a system's GAC and check for their existence on program startup?

Entity Framework references some DLLs.
On one system, they showed up in the GAC which is very convenient.
I can't figure out how I did this. The installer doesn't seem to do this --
The dlls I'm specifically talking about here are:
The core library assembly Microsoft.Practices.EnterpriseLibrary.Common.dll
The Unity Application Block assembly Microsoft.Practices.Unity.dll
The Object Builder assembly Microsoft.Practices.ObjectBuilder2.dll
but I guess it applies to any dll one might want to add to the GAC.
Also is there a way to check on program startup whether an assembly even is in the GAC?
Check if is in the GAC:
bool inGac = System.Reflection.Assembly.Load(assemblyName).GlobalAssemblyGac;
To install in gac, there's a question
Methods to programmatically install a .NET assembly into the GAC