- Posts: 9
- Thank you received: 1
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
- Feature Requests & Product Improvement Ideas
- Build errors in Visual Studio 2017 Setup & Deployment
Build errors in Visual Studio 2017 Setup & Deployment
In my case, my application is running as a 32bit (x86) application. Even when I targeted x86 with my build configuration, I still got errors... until I specifically excluded the file App_Web_OpcLabs.EasyOpcClassicRaw.amd64.dll under Detected Dependencies (expand Detected Dependencies, right-click the file, Exclude).
Please Log in or Create an account to join the conversation.
- PythonByte
- Offline
- Premium Member
- Posts: 12
- Thank you received: 0
Please Log in or Create an account to join the conversation.
there are basically two issues here:
1. "Unable to find dependency" warnings. They are benign and you can ignore them. The "missing" assemblies are embedded inside the QuickOPC assemblies, so they do not need to be present. If you really wanted, you could obtain these assemblies by performing a custom install of QuickOPC and select "Embedded assemblies" in Installation Components, but it is not necessary.
2. Errors - File '...' targeting '...' is not compatible with the project's target platform 'x86'.
QuickOPC Classic is internally implemented in managed C++ which can only generate mixed-mode assemblies, i.e. assemblies combining MSIL code and native code. These assemblies are therefore always either 32-bit or 64-bit, there are no "neutral", MSIL-only assemblies possible. QuickOPC comes with both 32-bit and 64-bit builds of these, and loads the right one dynamically, based on whether the application runs in 32-bit or 64-bit process.
If your installer tool does not like it, you need to find a way inside the installer to make it work. Too much intelligence on the part of the installer tool here. All that's needed is to place these two App_Web_* assemblies alongside the other assemblies. I do not know the specifics of VS Setup&Deployment projects to be able to tell you how to do it, sorry.
a) This way (deploying both the App_Web_*), the application will be able to run in either 32- or 64-bit process.
b) Alternatively, if you know your app will always run on a 64-bit machine, you should be able to switch the installer project to 64-bit, and remove the App_Web_OpcLabs.EasyOpcClassicRaw.x86.dll file from the installation
c) Alternatively, you can make your app to always run in 32-bit process (on 32-bit machines and on 64-bit machines). You can then remove the App_Web_OpcLabs.EasyOpcClassicRaw.amd64.dll file from the installation, AND (to prevent the app from running in 64-bit process), change the main project's "platform target" (in Project Properties in VS) from "Any CPU" to "x86", or use the CORFLAGS utility (docs.microsoft.com/en-us/dotnet/framework/tools/corflags-exe-corflags-conversion-tool ) with /32BITREQ+ on the executable.
Best regards
Please Log in or Create an account to join the conversation.
In my project, I'm referencing OpcLabs.BaseLib and OpcLabs.EasyOpcClassic (from the 2018.2\Aseemblies\net452 folder).
The class library project builds just fine, no errors at all. The issue comes when building my Setup & Deployment project. The deployment project has the Project Output included for the class library referencing EasyOpc. All projects target .net 4.52 and the x86 platform.
There are confusing dependency errors, and I have no idea why it's trying to use an "App_Web_Opc" dll, especially for amd64 (this solution consists of class libraries, a Windows service project, and a WinForms application - nothing web related).
Any help would be GREATLY appreciated!
Here is the output when building the Setup and Deployment project:
Starting pre-build validation for project 'Setup'
WARNING: Unable to find dependency 'BOXEDAPPSDK.MANAGED' (Signature='84FE779840C3B626' Version='3.3.14.0') of assembly 'OpcLabs.BaseLib.dll'
WARNING: Unable to find dependency 'BOXEDAPPSDK.MANAGED' (Signature='84FE779840C3B626' Version='3.3.14.0') of assembly 'OpcLabs.BaseLib.dll'
WARNING: Unable to find dependency 'OPCNETAPI' (Signature='6FADDCA41DACB409' Version='5.53.315.1') of assembly 'OpcLabs.EasyOpcClassic.dll'
WARNING: Unable to find dependency 'OPCNETAPI' (Signature='6FADDCA41DACB409' Version='5.53.315.1') of assembly 'OpcLabs.EasyOpcClassic.dll'
WARNING: Unable to find dependency 'OPCNETAPI.XML' (Signature='6FADDCA41DACB409' Version='5.53.315.1') of assembly 'OpcLabs.EasyOpcClassic.dll'
WARNING: Unable to find dependency 'OPCNETAPI.XML' (Signature='6FADDCA41DACB409' Version='5.53.315.1') of assembly 'OpcLabs.EasyOpcClassic.dll'
WARNING: Unable to find dependency 'OPCNETAPI.COM' (Signature='6FADDCA41DACB409' Version='5.53.315.1') of assembly 'OpcLabs.EasyOpcClassic.dll'
WARNING: Unable to find dependency 'OPCNETAPI.COM' (Signature='6FADDCA41DACB409' Version='5.53.315.1') of assembly 'OpcLabs.EasyOpcClassic.dll'
WARNING: Unable to find dependency 'OPC.UA.CLIENT' (Signature='6FADDCA41DACB409' Version='1.2.336.0') of assembly 'OpcLabs.EasyOpcUA.dll'
WARNING: Unable to find dependency 'OPC.UA.CLIENT' (Signature='6FADDCA41DACB409' Version='1.2.336.0') of assembly 'OpcLabs.EasyOpcUA.dll'
WARNING: Unable to find dependency 'OPC.UA.CONFIGURATION' (Signature='6FADDCA41DACB409' Version='1.3.340.0') of assembly 'OpcLabs.EasyOpcUA.dll'
WARNING: Unable to find dependency 'OPC.UA.CONFIGURATION' (Signature='6FADDCA41DACB409' Version='1.3.340.0') of assembly 'OpcLabs.EasyOpcUA.dll'
WARNING: Unable to find dependency 'OPC.UA.CORE' (Signature='6FADDCA41DACB409' Version='1.3.340.0') of assembly 'OpcLabs.EasyOpcUA.dll'
WARNING: Unable to find dependency 'OPC.UA.CORE' (Signature='6FADDCA41DACB409' Version='1.3.340.0') of assembly 'OpcLabs.EasyOpcUA.dll'
WARNING: Unable to find dependency 'BOXEDAPPSDK.MANAGED' (Signature='84FE779840C3B626' Version='2018.2.0.0') of assembly 'OpcLabs.BaseLib.dll'
WARNING: Unable to find dependency 'BOXEDAPPSDK.MANAGED' (Signature='84FE779840C3B626' Version='2018.2.0.0') of assembly 'OpcLabs.BaseLib.dll'
WARNING: Unable to find dependency 'OPCNETAPI' (Signature='6FADDCA41DACB409' Version='2.1.105.1') of assembly 'OpcLabs.EasyOpcClassic.dll'
WARNING: Unable to find dependency 'OPCNETAPI' (Signature='6FADDCA41DACB409' Version='2.1.105.1') of assembly 'OpcLabs.EasyOpcClassic.dll'
WARNING: Unable to find dependency 'OPCNETAPI.XML' (Signature='6FADDCA41DACB409' Version='2.1.105.1') of assembly 'OpcLabs.EasyOpcClassic.dll'
WARNING: Unable to find dependency 'OPCNETAPI.XML' (Signature='6FADDCA41DACB409' Version='2.1.105.1') of assembly 'OpcLabs.EasyOpcClassic.dll'
WARNING: Unable to find dependency 'OPCNETAPI.COM' (Signature='6FADDCA41DACB409' Version='2.1.105.1') of assembly 'OpcLabs.EasyOpcClassic.dll'
WARNING: Unable to find dependency 'OPCNETAPI.COM' (Signature='6FADDCA41DACB409' Version='2.1.105.1') of assembly 'OpcLabs.EasyOpcClassic.dll'
Pre-build validation for project 'Setup' completed
Pre-build validation for project 'Setup' completed
12>
Build started: Project: Setup, Configuration: Release
12>
Build started: Project: Setup, Configuration: Release
Building file 'C:\....msi'... <name excluded for privacy>
Building file 'C:\....msi'... <name excluded for privacy>
ERROR: File 'App_Web_OpcLabs.EasyOpcClassicRaw.amd64.dll' targeting 'AMD64' is not compatible with the project's target platform 'x86'
ERROR: File 'App_Web_OpcLabs.EasyOpcClassicRaw.amd64.dll' targeting 'AMD64' is not compatible with the project's target platform 'x86'
WARNING: File 'App_Web_OpcLabs.EasyOpcClassicRaw.amd64.dll' targeting 'x64' is not compatible with the project's target platform 'x86'
WARNING: File 'App_Web_OpcLabs.EasyOpcClassicRaw.amd64.dll' targeting 'x64' is not compatible with the project's target platform 'x86'
ERROR: File 'App_Web_OpcLabs.EasyOpcClassicRaw.amd64.dll' targeting 'AMD64' is not compatible with the project's target platform 'x86'
ERROR: File 'App_Web_OpcLabs.EasyOpcClassicRaw.amd64.dll' targeting 'AMD64' is not compatible with the project's target platform 'x86'
WARNING: File 'App_Web_OpcLabs.EasyOpcClassicRaw.amd64.dll' targeting 'x64' is not compatible with the project's target platform 'x86'
WARNING: File 'App_Web_OpcLabs.EasyOpcClassicRaw.amd64.dll' targeting 'x64' is not compatible with the project's target platform 'x86'
Build process cancelled
Please Log in or Create an account to join the conversation.
- Forum
- Discussions
- Feature Requests & Product Improvement Ideas
- Build errors in Visual Studio 2017 Setup & Deployment