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
  • Updates & Insights
  • Questions
  • Learning
    • E-learning Courses
    • Empower Replay: Limited Edition
    • Tutorials
    • Open Classroom Training
    • Kanban workshop
    • Certification
      • DataMiner Fundamentals
      • DataMiner Configurator
      • DataMiner Automation
      • Scripts & Connectors Developer: HTTP Basics
      • Scripts & Connectors Developer: SNMP Basics
      • Visual Overview – Level 1
      • Verify a certificate
    • 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
    • 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
      • About the DevOps Program
      • DataMiner DevOps Support
  • Downloads
  • More
    • DataMiner Releases & Updates
    • Feature Suggestions
    • Climb the leaderboard!
    • Swag Shop
    • Contact
    • Global Feedback Survey
  • Support
  • PARTNERS
    • All Partners
    • Technology Partners
    • Strategic Partner Program
    • Deal Registration
  • >> Go to dataminer.services

Transient NuGet package dependencies in a solution between projects / QActions

339 views18th December 2024
1
David Crome269 18th December 2024 2 Comments

Hi,

I switched from just coding in the whole protocol xml to creating a solution based on the protocol in Visual Studio and do my changes in the QActions and protocol.xml. Running the validation shows no compile errors. But when I published a new version of the protocol, it leads to some dependency problems because of missing methods and packages, e.g. "The type or namespace name 'Core' does not exist in the namespace 'Skyline.DataMiner'". Then I had to add to some QActions the missing NuGet packages.

QAction_1 already includes the Skyline Core package, so I thought every QAction which has a dependency to QAction_1 also includes their dependencies? Or does any QAction need to add the used packages by their own?

I have to include Core package also in QAction_2. otherwise I get the above exception.

Is that correct or do I have to change anything in VS or in Dataminer?

Thanks,

David

Tom Waterbley [SLC] [DevOps Catalyst] Answered question 18th December 2024
José Silva [SLC] [DevOps Catalyst] commented 18th December 2024

Hi David,

I hope you're doing well! Could you let me know how the publishing of the new connector version is being handled?
Kind regards,

David Crome commented 18th December 2024

Hi José,

yes, thanks! How about you?

I publish it directly from Visual Studio.

Kind regards,
David

1 Answer

  • Active
  • Voted
  • Newest
  • Oldest
1
Tom Waterbley [SLC] [DevOps Catalyst]8.90K Posted 18th December 2024 4 Comments

Hi David,

DataMiner indeed requires that the packages are added to the child projects as well.

The fact that Visual Studio doesn't show an error when that is not the case, could be misleading. To avoid this you can set the "Private Assets" property to "all" on the packages in QAction_1. This causes that the dependencies don't propagate to the child projects anymore.

David Crome Posted new comment 19th December 2024
Pedro Debevere [SLC] [DevOps Enabler] commented 19th December 2024

DIS now uses by default the SDK-style project format for its projects (csproj). In SDK-style projects, when you add a project reference all NuGet package references from the referenced project will be automatically included in the referencing project (transitive package references). The current behavior in DIS is because originally DIS used the legacy-style project format where this behavior is not present.

As Tom points out, if you want to prevent this transitive behavior, you can mark it as a private asset.
I created a task to investigate whether the same logic can be applied in DIS.

David Crome commented 19th December 2024

Thanks for feedback.

Actually I want the transitive behavior.

How can I switch to the SDK-style? I have created a solution based on the imported protocol, did not choose which style I want for the project.

Pedro Debevere [SLC] [DevOps Enabler] commented 19th December 2024

DIS will now always use SDK-style when creating a new connector solution (So there is no option in DIS to specify which type to use. DIS still supports solutions that have legacy-style projects. This is to avoid having to convert older solutions to use the new project format).
However, DIS currently does not take into account the fact that, in SDK-style projects, NuGet packages of a referenced project should are also available in the referencing project (when not marked as private assets). To look into this, I created that task.

David Crome commented 19th December 2024

Okay now I get it. Thanks!

You are viewing 1 out of 1 answers, click here to view all answers.
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
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