FluentValidation - assembly's manifest definition does not match the assembly reference - manifest

After adding the latest version of FluentValidation.MVC3 to a NopCommerce aplication i am receiving the following error,
[Exception: Could not load file or assembly 'FluentValidation,
Version=3.2.0.0,Culture=neutral, PublicKeyToken=a82054b837897c66' or one
of its dependencies. The located assembly's manifest definition does not
match the assembly reference. (Exception from HRESULT: 0x80131040)
]
Nop.Core.Plugins.PluginManager.Initialize()
in C:\Nop 2.2 Source -Copy\just4fashion2.2source\Libraries\Nop.Core\
Plugins\PluginManager.cs:144
I think this is due to the project referencing an older version of the fluent validation dll
but im not sure how to fix this, is there a way to pinpoint the error further?
Any advice you can offer will be much appreciated.

You might find this post helpful on how to track down dependencies in your application. I think you're absolutely right that either your project or a dependency your project is taking references an older version of FluentValidation.
Another thought is if you add the dependency to FluentValidation.MVC3 via NuGet, NuGet tends to place assembly binding redirects in the web.config. This will tell any assemblies with a hard dependency on an older version of an assembly to "redirect" to the latest version.

Related

How to use assembly registered in GAC on MonoDevelop?

I recently registered Mysql.Data.dll assembly in GAC on 64bit Ubuntu 14.4 to use it following this example with an ASP.NET Mono project and verified.
I realized that although it is registered in GAC, it's not directly usable from Edit references dialogue on Monodevelop.
I tried to see how can this be made possible, the possibilities exists for Visual Studio which is something I don't need.
Doubts:
If the assembly is un-usable what is the concept of registering it in GAC?
How can this assembly be provided by a package (and advertised through a .pc file?
How can this assembly be bundled together with the application?
Are the steps I followed incorrect?

could not load file or assembly 'mysql.data, version=6.9.5.0

I'm having a issue with a Visual Basic 2013 program I made (in vb.net) and the issue is with MySQL.data.dll, I've tried changing copy local to true in the GAC, I've tried upgrading my MySQL.data.dll to the most recent version but whatever I do it only works if the MySQL.data.dll folder is in the same folder as the executable when running it.
(Do note that this error only occurs on other machines, not my machine)
This is the error exactly:
[Could not load file or assembly 'MySql.data, Version=6.9.5.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d' or one of its dependencies. The system cannot find the file specified.]
Please help, I don't want to have my users have to put MySQL.data.dll in a file with the exe just to be able to run it (for obvious reasons.)
Check the version of the MySQL assembly against the versions appearing in the compiler output.
Do not use the error list look at the Output window and select Build from the drop down and look for errors.
The most probable cause is your application is linked to specific (possibly multiple) versions of MySQL, and there is a conflict on the specific version of MySQL referenced. You might also want to change the specific version property of the assembly reference...
How exactly does the "Specific Version" property of an assembly reference work in Visual Studio?
asp server error ' Could not load file or assembly ' but the assembly is definitely there.
It's pretty simple. You need to make sure the reference to the assembly is correct. I'd avoid installing MySQL into the GAC. Don't install the MSI, if you have uninstall it, then download the zip archive
mysql-connector-net-6.9.5-noinstall.zip
Extract the files to a folder reference those assemblies in your solution. If you're using source control check the folder containing the MySQL assemblies into source control, with the rest of the solution.
If you have more than one assembly referencing MySQL you should check that they are all referencing the same version, from the same location and/or have the "Specific Version" property set to false and "Copy Local" set to true.

Google Adsense DotNet API 1.4 Cannot resolve reference assemblies

It is a windows phone project and it was working fine until I taught to implement the Payment Reports in it and upgraded to the 1.4 now I added the reference using the nuget package found here http://www.nuget.org/packages/Google.Apis.AdSense.v1_4/ chnaged the v1_3 to v1_4 and now I keep getting this error.
Error 1 Cannot resolve reference assemblies. Please check the reference assemblies. Cannot resolve dependency to assembly 'Google.Apis, Version=1.7.0.24060, Culture=neutral, PublicKeyToken=null' because it has not been preloaded. When using the ReflectionOnly APIs, dependent assemblies must be pre-loaded or loaded on demand through the ReflectionOnlyAssemblyResolve event.
I tried uninstalling the Nuget Package from the Nuget Manager completely and then Installed v1_3 again but now even this has stopped working...please can you tell me where did I go wrong?? and how to fix this issue now...

Ormlite for MySql looking for wrong version

We've got a project using Ormlite.MySql built for .NET 4.0.
Ormlite and its dependencies are loaded via NuGet (it's ServiceStack.Ormlite.MySql 3.9.54), including MySql.Data 6.6.5.
When we try to run the code, however, we get a dependency error:
Could not load file or assembly 'MySql.Data, Version=6.6.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d' or one of its dependencies. The system cannot find the file specified.
The ServiceStack.OrmLite.MySql package in NuGet lists MySql.Data as a dependency, but doesn't list any specific version. In reflector, I can see that ServiceStack.OrmLite.MySql.dll is, in fact, referencing 6.6.4.0 of MySql.Data.dll.
Has anyone encountered this issue? I hate to hack the config file to redirect assmbly binding in general (always feels like a kludge).
I've just encountered the same problem. I solved it by downloading the Mysql.data.dll version 6.6.4.0 from servicestack on github: https://github.com/ServiceStack/ServiceStack.OrmLite/blob/master/lib/MySql.Data.dll
I had the same error. Just install with nuget : Mysql.data (it work for me)
nuget install the right version : "6.6.4"
(you could verify the version number in the nuget description)

How to resolve Microsoft SQL geography type dependency on AppHarbor

I am trying to deploy my web service on AppHarbor through GitHub. My web service is using NHibernate.Spatial, which has Microsoft.SQLServer.Types version 10.0.0.0 as a dependency. This assembly is, if I understand correctly, installed along with SQL Server 2008. When I run my web service on my development computer, on which I have SQL Server 2008 installed, the service runs without trouble, but when I deploy to AppHarbor I get the following exception:
"Could not load file or assembly 'Microsoft.SqlServer.Types,
Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91' or
one of its dependencies. The system cannot find the file specified."
As I already build my own version of NHibernate.Spatial.MsSql2008, the assembly from which the dependency derives, I have simply tried copying the required dll into the bin folder when building this project, by setting the reference property Copy Local to true. This is also reflected in the web service bin folder which is pulled by AppHarbor through Git. This didn't help though and my guess is that my web service is looking for the dependency in a different folder than bin.
How do I make the Microsoft.SqlServer.Types assembly available on AppHarbor? As the exception states, this might also be caused by possible missing dependencies of Microsoft.SqlServer.Types, but how do I find if this is the case, and again, how do I make the dependencies of Microsoft.SqlServer.Types available on AppHarbor?
Here's a NuGet package with the Microsoft.SqlServer.Types assembly. You can use this in combination with NuGet package restore on AppHarbor.