Skip to content
DataMiner DoJo

More results...

Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors
Search in posts
Search in pages
Search in posts
Search in pages
Log in
Menu
  • Blog
  • Questions
  • Learning
    • E-learning Courses
    • Open Classroom Training
    • Certification
      • DataMiner Fundamentals
      • DataMiner Configurator
      • DataMiner Automation
      • Scripts & Connectors Developer: HTTP Basics
      • Scripts & Connectors Developer: SNMP Basics
      • Visual Overview – Level 1
      • Verify a certificate
    • Tutorials
    • Video Library
    • Books We Like
    • >> Go to DataMiner Docs
  • Expert Center
    • Solutions & Use Cases
      • Solutions
      • Use Case Library
    • Markets & Industries
      • Media production
      • Government & defense
      • Content distribution
      • Service providers
      • Partners
      • OSS/BSS
    • DataMiner Insights
      • Security
      • Integration Studio
      • System Architecture
      • DataMiner Releases & Updates
      • DataMiner Apps
    • Agile
      • Agile Webspace
      • Everything Agile
        • The Agile Manifesto
        • Best Practices
        • Retro Recipes
      • Methodologies
        • The Scrum Framework
        • Kanban
        • Extreme Programming
      • Roles
        • The Product Owner
        • The Agile Coach
        • The Quality & UX Coach (QX)
    • DataMiner DevOps Professional Program
  • Downloads
  • More
    • Feature Suggestions
    • Climb the leaderboard!
    • Swag Shop
    • Contact
      • General Inquiries
      • DataMiner DevOps Support
      • Commercial Requests
    • Global Feedback Survey
  • PARTNERS
    • All Partners
    • Technology Partners
    • Strategic Partner Program
    • Deal Registration
  • >> Go to dataminer.services

Precompiled QActions giving namespace not found error

Solved1.27K views14th April 2021QActions
2
Robin Frid 13th April 2021 0 Comments

Hello,

My name is Robin from Intelligent Wave inc. in Japan, and im currently developing a driver for our monitoring solution.

I have been getting the C0234 error when I'm trying to access a precompiled QActions namespace.

Below are a simplified example of how I use the QAction.

<QAction id="9001" encoding="csharp" name="Precompiled QAction Library" options="precompile">
namespace Skyline.Protocol.Library
{
namespace EoM.Alerts
{
public static class Alert

/.../

<QAction id="1" name="Precompiled Code" encoding="csharp" options="precompile" dllImport="[ProtocolName].[ProtocolVersion].QAction.9001.dll">
namespace Skyline.Protocol
{
namespace AlertsTables
{
using System;
using Skyline.DataMiner.Scripting;
using Skyline.Protocol.Library.EoM.Alerts;

/.../

This is where I get the first error and the rest are all related. Am i missing something? I was looking at some examples from Skyline and did very similar naming and refering but still get this error.

If somebody could shine some light on whats going on here, I'd be very thankful.

Robin Frid Selected answer as best 14th April 2021

1 Answer

  • Active
  • Voted
  • Newest
  • Oldest
2
Laurens Moutton [SLC] [DevOps Enabler]8.73K Posted 13th April 2021 4 Comments

What is the order that the QActions appear in the driver?
Is it first QAction 9001 then QAction 1?
This help section indicates that first the QAction needs to appear in XML before being referenced by another QAction as that is the order that they're being compiled. In other words in the XML first QAction 9001 needs to appear, then QAction 1 as that one is referring to QAction 9001.

Robin Frid Selected answer as best 14th April 2021
Robin Frid commented 14th April 2021

Thank you for the advice. Howerver, the order is as expected, with QAction 9001 being first and QAction 1 as the second. Both have the option “precompiled”, as im trying to use them both in a 3rd QAction, QAction 2. Could this somehow be causing the issue?

Laurens Moutton [SLC] [DevOps Enabler] commented 14th April 2021

What is the DataMiner version? Do you have remote desktop access to the DataMiner agent (server) where the element is running? If that is the case, would it be possible to check the folder C:Skyline DataMinerProtocolScripts and check if the following file exists: YourDriverName.1.0.0.1.QAction.9001.dll (with “YourDriverName” to be replaced with the name of the driver and “1.0.0.1” to be replaced with the driver version number)
If that dll exists then it means that QAction 9001 compiled, if it doesn’t exist then that QAction 9001 didn’t compile for some reason and you should further look the content of QAction 9001 for issues.
In case you don’t have access to the DataMiner server: are you using DIS to create the driver? Does that indicate any errors when opening the QActions? If you don’t have DIS, do you see any errors when copying the code of QAction 9001 in a new Visual Studio project?

Laurens Moutton [SLC] [DevOps Enabler] commented 14th April 2021

I tried a setup like you’re explaining that import both precompiled qactions and that’s working fine. I have below simple qactions (in that order in xml):
QAction id=”9001″ encoding=”csharp” name=”Precompiled QAction Library” options=”precompile” :
namespace Skyline.Protocol.Library
{
namespace EoM.Alerts
{
public static class Alert
{
public static int Calculate(int a, int b)
{
return a + b;
}
}
}
}

QAction id=”92″ name=”Precompiled Code2″ encoding=”csharp” options=”precompile” dllImport=”[ProtocolName].[ProtocolVersion].QAction.9001.dll” :
namespace Skyline.Protocol
{
namespace AlertsTables
{
using System;
using Skyline.DataMiner.Scripting;
using Skyline.Protocol.Library.EoM.Alerts;

public class CustomTest
{
private int partA;
private int partB;
public CustomTest(int a, int b)
{
partA = a;
partB = b;
}

public int Calc()
{
return Alert.Calculate(partA, partB);
}
}
}
}

QAction id=”9003″ name=”Entering third” encoding=”csharp” triggers=”9003″ dllImport=”[ProtocolName].[ProtocolVersion].QAction.92.dll;[ProtocolName].[ProtocolVersion].QAction.9001.dll”:
using System;
using Skyline.Protocol.AlertsTables;
using Skyline.Protocol.Library.EoM.Alerts;
using Skyline.DataMiner.Scripting;

public class QAction
{
///
/// Change Comm
///
/// Link with Skyline DataMiner
public void Run(SLProtocol protocol)
{
CustomTest test = new CustomTest(1, 2);
int result = test.Calc();
int second = Alert.Calculate(3, 4);
protocol.Log(8,5,”result is ” + Convert.ToString(result) + ” and ” + Convert.ToString(second));
}
}

Triggering 9003 logs the result as expected.
If you’re using DIS then it will probably give a better insight if something is showing errors in the code

Robin Frid commented 14th April 2021

Thank you so much for taking the time to answer my question. I managed to solve the issue by simply rename my QActions to the order I wanted them compiled, and keep the order they were presented in.

So formerly named QAction 9001 became 1, 1 became 2 etc. With this the driver is now able to compile.

Edit: the version of the Dataminer agent is DataMiner (9.6.0.0-8690-CU6)

I did find the QAction 9001 being compiled and despite that QAction 1 didnt manage to compile, this led me to believe that the order wasnt only dependent on the order of the xml.

Please login to be able to comment or post an answer.

My DevOps rank

DevOps Members get more insights on their profile page.

My user earnings

0 Dojo credits

Spend your credits in our swag shop.

0 Reputation points

Boost your reputation, climb the leaderboard.

Promo banner DataMiner DevOps Professiona Program
DataMiner Integration Studio (DIS)
Empower Katas

Recent questions

Web Applications exception in Cube due to invalid certificate 0 Answers | 0 Votes
Redundancy Groups and Alarming – Duplicate Alarms 0 Answers | 0 Votes
Correlation Engine: “Test rule” doesn’t result in a hit, despite functional rule 1 Answer | 3 Votes

Question Tags

adl2099 (115) alarm (62) Alarm Console (82) alarms (100) alarm template (83) Automation (223) automation scipt (111) Automation script (167) backup (71) Cassandra (180) Connector (109) Correlation (69) Correlation rule (52) Cube (151) Dashboard (194) Dashboards (188) database (83) DataMiner Cube (57) DIS (81) DMS (71) DOM (140) driver (65) DVE (56) Elastic (83) Elasticsearch (115) elements (80) Failover (104) GQI (159) HTTP (76) IDP (74) LCA (152) low code app (166) low code apps (93) lowcodeapps (75) MySQL (53) protocol (203) QAction (83) security (88) SNMP (86) SRM (337) table (54) trending (87) upgrade (62) Visio (539) Visual Overview (345)
Privacy Policy • Terms & Conditions • Contact

© 2025 Skyline Communications. All rights reserved.

DOJO Q&A widget

Can't find what you need?

? Explore the Q&A DataMiner Docs

[ Placeholder content for popup link ] WordPress Download Manager - Best Download Management Plugin