Skip to content
This repository was archived by the owner on Jan 12, 2024. It is now read-only.
This repository was archived by the owner on Jan 12, 2024. It is now read-only.

Loading IsQscReference package fails if it contains DLLs with external references #435

@bamarsha

Description

@bamarsha

When a package reference in a Q# project is tagged with IsQscReference="true", the compiler attempts to load all of the DLLs in the package to look for rewrite steps. This fails if the DLL has dependencies that are not included in the package, and the recommended solution is to redistribute all dependencies in the package itself so they can be loaded at the same time.

The problem is when a package includes DLLs with external dependencies that are not intended to be loaded as rewrite steps along side DLLs that are intended to be loaded. In this case, redistributing dependencies would unnecessarily increase the size of the package, but the compiler will fail to load the rest of the package if it contains any DLL that it cannot load.

See #428 for an example of this problem, which required working around the problem by manually ignoring a specific assembly name in the SDK. It would be nice to support these kinds of packages, maybe by allowing packages to explicitly specify which DLLs they want loaded as rewrite steps.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area: SDKQuantum SDK used to build Q# projectsbugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions