Skip to content
GitLab
    • GitLab: the DevOps platform
    • Explore GitLab
    • Install GitLab
    • How GitLab compares
    • Get started
    • GitLab docs
    • GitLab Learn
  • Pricing
  • Talk to an expert
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
    • Switch to GitLab Next
    • Menu
    Projects Groups Snippets
  • Get a free trial
  • Sign up
  • Login
  • Sign in / Register
  • OpenTAP OpenTAP
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 132
    • Issues 132
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
    • Requirements
  • Merge requests 54
    • Merge requests 54
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
    • Test Cases
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages & Registries
    • Packages & Registries
    • Package Registry
    • Container Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Code review
    • Insights
    • Issue
    • Repository
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • OpenTAP
  • OpenTAPOpenTAP
  • Issues
  • #808
Closed
Open
Created Nov 10, 2021 by Rolf Madsen@romadsen-ksDeveloper

Incompatible dll references are silently ignored

PluginSearcher ignores incompatible plugin dependencies which causes tap package create to exclude critical dlls from builds silently.

Scenario:

  • Project 'A' uses Microsoft.AspNetCore.Mvc.Core v2.2.5.0 -- which depends on --> Microsoft.Extensions.DependencyModel v2.1.0.0
  • Project 'b' uses netcoreapp2.1 -- which depends on --> Microsoft.Extensions.DependencyModel v1.0.1.0

Depending on the build, either Microsoft.Extensions.DependencyModel v1.0.1.0 OR v2.1.0.0 will exist in the output folder. And actually during the build there is no warning about this.

Then during tap package create, the PluginSearcher looks at Microsoft.AspNetCore.Mvc.Core and sees its dependency on Microsoft.Extensions.DependencyModel v2.1.0.0, but since only v1.0.1.0 is available it silently ignores the issue and pretends like the DLL was not a dependency after all. This in turn means that the DLL does not get included in the TapPackage and when deployed the software breaks.

I suggest the following:

  1. We emit a warning during startup if we have to ignore a DLL for whatever reason
  2. We should also keep track of the ignored dlls.
  3. During package create, if we detect that a dll has ignored references, we should give up on creating the package, since not all dependencies could be resolved.
Assignee
Assign to
Time tracking