Closed Jaykul closed 6 years ago
Also, the build will "fail" because there's only a "Core" build now, no separate "Desktop" build is required or desired.
@Jaykul I updated build, setup, and test scripts. Now we passed all checks. Please review the changes. BTW, thanks for your contriubtions. really appreciated.
@stefanstranger, @jzabroski @Chaganti @dfinke @johnzabroski @DexterPOSH, @ravikanth, once we checkin this PR, SHiPS will depends on .net 4.7.1 on Windows desktop. Any concerns if we go for it?
cc @edyoung @HemantMahawar
Hmm... does PowerShell allow assembly redirects?
I just woke up and am not sure why it can't target 4.6.x ...
That said, I think it is a great idea to ask lots of downstream consumers if they're impacted. Simply put, I am not.
One other comment. PSModuleInfo has a DotNetFraneworkVersion, that was [introduced in PowerShell 3.0](https://msdn.microsoft.com/en-us/library/system.management.automation.psmoduleinfo_members(v=vs.85).aspx#Public Properties). I'm on my mobile phone so reviewing code is hard but the psm1 should be updated with new version number to indicate this.
@jzabroski about a year, .Net team announced .net framework 4.7.1 release. It supports downlevel OSs to Win7. Also the .Net 4.7.1 has builtin support for .NET Standard 2.0.
We can think of the .NET standard as "abstract layer" of .net 4.7.1 and .net core. For project like SHiPS if we compile against the .Net standard, its library will run on both .net core and .net full (here .Net 4.7.1) - cross platform support. You can also see more info in the issue https://github.com/PowerShell/SHiPS/issues/104.
@jianyunt I'm aware. I'm a 10 years experience .NET engineer. I'm merely explicitly calling out the need to reference the dependencies, otherwise the package manager can't do its' job of protecting developers from pulling in bad dependencies.
The PowerShell Module Manifest is documented in many places. A quick google search found this tutorial: How to Write a Module Manifest. In the tutorial, you can clearly see a manifest should take a DotNetFrameworkVersion key.
@Jaykul can you please update https://github.com/PowerShell/SHiPS/blob/development/src/Modules/SHiPS.psd1 to take the DotNetFrameworkVersion key 4.7.1
Note: I haven't truly tested this with .NET 4.6.1 but it should work, based on version notes and the table here
@jzabroski, I added DotNetFrameworkVersion in SHiPS.psd1. Thanks.
@Jaykul we need 4.7.1 because 4.6.1 doesn't come with the .Net standard shims, only 4.7.1 includes those. This means that if we target .Net Std2.0 and 4.6.1 we also need to ship netstandard.dll. Or users need to install the .net combability pack. To avoid this hassle, I updated it to 4.7.1.
I saw. :) thanks!
On Thu, Aug 16, 2018, 4:41 PM Jianyun notifications@github.com wrote:
Merged #109 https://github.com/PowerShell/SHiPS/pull/109 into master.
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/PowerShell/SHiPS/pull/109#event-1793331447, or mute the thread https://github.com/notifications/unsubscribe-auth/AAbT_Vk0nMz6TgEzH9aZP07sCFpghBVMks5uRdkLgaJpZM4U1VGV .
Addresses #104
I haven't looked at how you put the actual module together -- this only addresses compilation...