-
Notifications
You must be signed in to change notification settings - Fork 67
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
Calendar API 1.45 v 1.46 #290
Comments
I've noticed that with other DLLs, seems like they don't all have a similar release cadence :-( This is also why Tasks was pulled out a bit ago. I'm wondering if we should just add a shell C# project with the assemblies listed then run The force load was added because the Help tests actually were failing due to Type Not Found, even though the module is force imported right before. |
Not sure even that would do it... So I guess another issue here is that the dependencies they're stating aren't even correct, and I'm not sure there's any way around that programmatically. |
Not being able to leave well enough alone, and based on this comment from my issue on the Google Repo:
The issue appears to not be with the dependencies of the assemblies, but how they're loaded. Assembly binding redirects are... weird. Also, Tasks library seems to be being updated again, so those could be pulled back in. Guess we need to keep an eye on library versions and complain to google when they get off, or figure out binding redirects. |
We could potentially add a custom assembly resolver to AppDomain. Doesn't seem to be too difficult, would need to test though |
And looks like Calendar 1.46 is now published |
alrighty @FISHMANPET - I've got the custom assembly resolver working well, just forced Calendar 1.42 in with the rest of the 1.46 assemblies and everything is still working well 😃 Should have this permanent fix in place in next release |
So the specific code that caused this specific issue was in the Help Tests where it loads all the DLLs into the current scope so that Help tests wouldn't fail as soon as they encountered a type that wasn't loaded. I saw this failure while debugging the auto-generation functions, there was a function generated with an invalid object type, and the tests would fail. However right now, if I remove the lines that explicitly load the DLLs in the scope of the test, the tests still pass, which tells me they still have access to all those types. So I suspect your assembly resolver loads the DLLs in such a way that they're available when running those help tests. I'll do a little more playing around (forcing some old versions of libraries like you did) and make sure tests still pass, and then I think we can call this good (once it actually gets released 😆) |
And it doesn't work on PS 5 😞 |
I'm not really sure what can be done about this, but...
in 51068a3 you added this:
PSGSuite/Tests/1. Module Tests/PSGSuite.Help.Tests.ps1
Lines 16 to 18 in 51068a3
This part of the tests explicitly loads all the DLLs. This spit out an error in the pester test:
I looped through them in my terminal to look at the Loader Exceptions property and it was this repeated 72 times:
Well that's weird, Google.Apis is there, but turns out it's version 1.46.00.
Wrote another loop that told me what was being imported before it imported so I could find the failures, and discovered it was the Google Calendar API. Looking at all the file versions Calendar is 1.45 while everything else is 1.46. According to this issue there may be a lag between when the core API library is released and when support libraries are released. But also it looks like their discovery resource for the calendar library has been removed from the repo (see my comment on that issue).
So, not sure what to do here. If it's normal that sometimes things are out of sync, maybe just be careful when things are deployed? Otherwise if there is a bug in their auto-generation of libraries I guess wait for it to be resolved and calendar 1.46 released. While this error showed up because of that added code in the test file, I suspect that absent that, if you "released" a version of PSGsuite while the .net libraries are out of date there would be some issues.
The text was updated successfully, but these errors were encountered: