Online Forums
Technical support is provided through Support Forums below. Anybody can view them; you need to Register/Login to our site (see links in upper right corner) in order to Post questions. You do not have to be a licensed user of our product.
Please read Rules for forum posts before reporting your issue or asking a question. OPC Labs team is actively monitoring the forums, and replies as soon as possible. Various technical information can also be found in our Knowledge Base. For your convenience, we have also assembled a Frequently Asked Questions page.
Do not use the Contact page for technical issues.
- Forum
- Discussions
- QuickOPC-Classic in .NET
- Installation, Deployment
- could not load file or assembly 'OpcLabs.EasyOpcClassicRaw.amd64' or one of its dependencies. An attempt was made to load a ..
could not load file or assembly 'OpcLabs.EasyOpcClassicRaw.amd64' or one of its dependencies. An attempt was made to load a ..
Please Log in or Create an account to join the conversation.
Please Log in or Create an account to join the conversation.
It appears that with Web applications, the host loads *all* assemblies right at the beginning, without waiting until they are actually needed. Therefore, when you run your Web app in a 32-bit environment, the 32-bit assembly will load fine but the 64-bit assembly has a "wrong format" and will not load. Conversely, when you run your Web app in a 64-bit environment, the 64-bit assembly will load fine but the 32-bit assembly (which we do not need) has a "wrong format", will not load, and will prevent the whole app from working.
Finding a solution for this won't be easy. But there already is a workaround: Whate happens is that the loader tries to load all assemblies it finds (in App_Code folder), but does not complain when an unneeded assembly is missing. If you manually remove the unwanted assembly (the one listed in the exception message) from the 'bin' subfolder of your project before running the app, it will work. There are, however, issues with this approach, such as:
1) You need to know upfront whether you are going to run the app in a 32-bit or 64-bit process.
2) Every project rebuild will place the assembly back to 'bin'. I think that this might be overcome by a custom build step.
I will need to have a deeper look at how to handle this issue, and more time.
Best regards
Note: 'amd64' is a correct designation under Intel processors as well. This is due to historical reasons of the processor development: The Intel's own 64-bit architecture (Itanium, IA64) has not been truly successful, besides a narrow market. AMD has come with much more successful 64-bit architecture, which Intel later copied is now using it basically everywhere. Hence the name 'amd64' in the assemblies. en.wikipedia.org/wiki/X86-64 , and more through Google...
Please Log in or Create an account to join the conversation.
btw I ran this on a windows 8 pc too and it does exactly the same thing
(edited - removed binary files from solution)
Please Log in or Create an account to join the conversation.
I maybe make a sample project and send it you
cheers
Please Log in or Create an account to join the conversation.
If not and if this is the cause, the remedy would be either to manually remove the 5.31 assemblies from the GAC, or to (and that's kind of cumbersome): 1) install 5.31, 2) uninstall 5.31, 3) install 5.32 again.
Please Log in or Create an account to join the conversation.
Please Log in or Create an account to join the conversation.
Please Log in or Create an account to join the conversation.
- QuickOPC.NET now uses a different method to load the low-level assembly for a current processor architecture. The earlier method created a low-level assembly file in a temporary directory. The new method uses two new assemblies (OpcLabs.EasyOpcClassicRaw.amd64 and OpcLabs.EasyOpcClassicRaw.x86) that are dynamically loaded, but not directly referenced. The new method allows faster startup, and does not require access (permissions) to the temporary directory. Note that these new assemblies need not to (and should not be) directly referenced from your projects. "
I'm running a hyper v VM on windows 2012 with a 64 bit four core intel xeon processor. Something somewhere seems to think I have amd...
Please Log in or Create an account to join the conversation.
I was using 5.31 in my asp.net (net 4.51) app - I upgraded to 5.32 and I get this error.
Please Log in or Create an account to join the conversation.
- Forum
- Discussions
- QuickOPC-Classic in .NET
- Installation, Deployment
- could not load file or assembly 'OpcLabs.EasyOpcClassicRaw.amd64' or one of its dependencies. An attempt was made to load a ..