Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ensure earlier versions of Chocolatey GUI assemblies can be resolved when using an older version of Chocolatey GUI extension #785

Closed
gep13 opened this issue Jul 10, 2020 · 1 comment
Assignees
Labels
Bug Issues where something has happened which was not expected or intended
Milestone

Comments

@gep13
Copy link
Member

gep13 commented Jul 10, 2020

Once loaded into memory, the Chocolatey GUI extension, like the Chocolatey extension, needs to load some Chocolatey GUI assemblies in order to function. Since it is possible that the Chocolatey GUI extension is compiled against a slightly different version of Chocolatey GUI, we want to be able to provide which ever version is available. Dependencies will be controlled through the nuspec file, when a version bump is required.

This code should be similar to what is in Chocolatey itself:

https://github.com/chocolatey/choco/blob/master/src/chocolatey.console/Program.cs#L185-L228

Without this in place, the current version of Chocolatey GUI extension works with Chocolatey GUI 0.17.0 but fails to work when running in Chocolatey GUI 0.17.1.

@gep13 gep13 added the Bug Issues where something has happened which was not expected or intended label Jul 10, 2020
@gep13 gep13 added this to the 0.17.2 milestone Jul 10, 2020
@gep13 gep13 self-assigned this Jul 10, 2020
@gep13 gep13 closed this as completed Jul 13, 2020
@gep13 gep13 changed the title Add assembly resolver for Chocolatey GUI assemblies Ensure earlier versions of Chocolatey GUI assemblies can be resolved when using older version of Chocolatey GUI extension Jul 13, 2020
@gep13 gep13 changed the title Ensure earlier versions of Chocolatey GUI assemblies can be resolved when using older version of Chocolatey GUI extension Ensure earlier versions of Chocolatey GUI assemblies can be resolved when using an older version of Chocolatey GUI extension Jul 13, 2020
gep13 added a commit that referenced this issue Jul 13, 2020
Due to problems with using an assembly before it has been correctly
resolved, using the concept of a shared ApplicationParameters class
won't work going forward.  Instead, the required information needs to
be duplicated in both the Chocolatey GUI and the Chocolatey CLI
projects.  This may cause problems later with StyleCop when we come to
create a release build, but we will cross that bridge when we come to
it.
gep13 added a commit that referenced this issue Jul 13, 2020
When loading the Chocolatey GUI licensed extension, there are a couple
of additional project/nuget refereces that need to be in place.  These
are not strictly "required" by the CLI project, however, switching to
the assembly resolver class means that these need to be in place.  This
will help with debugging of the CLI project when the Chocolatey GUI
licensed extension is in place.
gep13 added a commit that referenced this issue Jul 13, 2020
This will be responsible for ensuring that a version of the
ChocolateyGui.Common and ChocolateyGui.Common.Windows assemblies
are loaded into the current process.  As long as the Public Key of the
requested assembly matching what the host process has been compiled
with, then it will be returned.  The compiled version number does not
need to match.  This will mean that the Chocolatey GUI Extension will
work with multiple versions of Chocolatey GUI, in the same was as the
Chocolatey Extension works with multiple versions of Chocolatey.
gep13 added a commit that referenced this issue Jul 13, 2020
Had to introduce a region to exclude certain repeated sections of code.
gep13 added a commit that referenced this issue Jul 13, 2020
Otherwise, the filesystem variable is never initialized, and therefore
can't be used.
gep13 added a commit that referenced this issue Jul 13, 2020
* hotfix/0.17.2:
  (GH-785) Reverted StyleCop change
  (GH-785) Fix stylecop and dupfinder errors
  (GH-785) Add assembly resolver to CLI and GUI
  (GH-785) Add additonal project/nuget references
  (GH-785) Remove ApplicationParameters class
  (GH-747) add txt extension to the LICENSE file
  (build) Update to latest Cake.Recipe
gep13 added a commit that referenced this issue Jul 13, 2020
* hotfix/0.17.2:
  (GH-785) Reverted StyleCop change
  (GH-785) Fix stylecop and dupfinder errors
  (GH-785) Add assembly resolver to CLI and GUI
  (GH-785) Add additonal project/nuget references
  (GH-785) Remove ApplicationParameters class
  (GH-747) add txt extension to the LICENSE file
  (build) Update to latest Cake.Recipe

# Conflicts:
#	recipe.cake
@gep13
Copy link
Member Author

gep13 commented Jul 13, 2020

🎉 This issue has been resolved in version 0.17.2 🎉

The release is available on:

Your GitReleaseManager bot 📦🚀

choco-bot pushed a commit that referenced this issue Jul 13, 2020
Merge branch 'hotfix/0.17.2' into develop

* hotfix/0.17.2:
  (GH-785) Reverted StyleCop change
  (GH-785) Fix stylecop and dupfinder errors
  (GH-785) Add assembly resolver to CLI and GUI
  (GH-785) Add additonal project/nuget references
  (GH-785) Remove ApplicationParameters class
  (GH-747) add txt extension to the LICENSE file
  (build) Update to latest Cake.Recipe

# Conflicts:
#	recipe.cake
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Issues where something has happened which was not expected or intended
Projects
None yet
Development

No branches or pull requests

1 participant