Skip to content

Need to rethink the setup for testing #10

Open
@jaredpar

Description

@jaredpar

The design of EditorUtils NuGet packaging and testing strategy is 5+ years old. It was done at a time when I had less understanding of binding redirects, assembly resolution and the GAC. As a result I missed a couple of important scenarios but was constantly saved by the fact that all of the editor assemblies were in the GAC. Now that VS 2017 is out and have removed all of the GAC entries these flaws are showing now and causing me to rethink the setup.

The testing strategy was designed around the idea that a developer could:

  • Add a reference to EditorUtils VS version X
  • Use binding redirects to test against VS version X, X +1, etc ...

This meant at build time you could control the VS version to test against by simply changing the binding redirects. In general it would essentially work like the following:

  • EditorUtils compiled against 10.0.0.0
  • Test directory has editor assemblies version 10.0.0.0
  • Binding redirect moves 10.0.0.0 -> 14.0.0.0
  • At runtime
    • None of the editor assemblies in test directory match due to the redirect.
    • The assemblies do exist in the GAC and win

That runtime behavior really falls apart in VS 2017 because there is no GAC. It's making me question the overall strategy here.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions