Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Error SIPEPS, Version=5.0.0.0 UCMA 4.0 VS2010/VS2013

I had developed an UCMA 4.0 application on both VS 2013 and VS 2010. When run project, I got this error:

Could not load file or assembly 'SIPEPS, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.

I used .NET 4 and had set target build platform to x64. Checked by dependwalker_x64 and no file is missing.

I also used the App.config file from Sample but not work so I had changed the App.config file as follow:

<runtime>
<assemblyBinding>
  <dependentAssembly>
    <assemblyIdentity name="SIPEPS" publicKeyToken="31bf3856ad364e35" culture="neutral"/>
    <bindingRedirect oldVersion="0.0.0.0-4.5.0.0" newVersion="5.0.0.0"/>
  </dependentAssembly>
</assemblyBinding>

How should I do for this problem? Thanks so much for any help!

like image 793
Mr Neo Avatar asked Jul 27 '15 08:07

Mr Neo


1 Answers

The exception can be very bewildering because UCMA projects don’t require an explicit reference to this SIPEPS DLL, and often you’ll get the exception even if you locate the DLL and move it into the same directory as your application.

It turns out that it’s usually caused by one of two things:

  1. You’ve targeted the wrong version of the .NET Framework.
  2. You’ve targeted the wrong type of CPU.

Open up the properties for your project in Visual Studio and make sure .NET Framework 4.5 is selected.

If you’re not running Visual Studio 2012, you have a somewhat larger problem,

because you can’t use .NET 4.5 with Visual Studio 2010 and earlier. If you had an earlier version of the framework selected, change it, rebuild the project, and try again. UCMA 4.0 lists .NET 4.5 as a requirement.

If you’re still getting the exception,

check the target platform and make sure it is Any CPU or x64 for all projects.

UCMA has only worked on 64-bit machines since the 3.0 version, and what sometimes happens is that a project will get inadvertently set to x86, and will therefore try to load a 32-bit version of SIPEPS.dll on startup. Well, there isn’t a 32-bit version of SIPEPS.dll; hence the somewhat misleading exception.

Reference

like image 76
Tharif Avatar answered Sep 19 '22 18:09

Tharif