IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

La RC1 de PowerShell 7.0 est disponible avec un support à long terme (LTS) pour .NET Core 3.1
L'opérateur ternaire « a ? b : c », l'opérateur d'affectation et de coalescence nulle « ?? et ??= »

Le , par Bill Fassinou

450PARTAGES

6  0 
Microsoft a annoncé cette semaine qu’après plusieurs aperçus pour PowerShell 7.0, une première release candidate (RC) est disponible, avant la sortie officielle de PowerShell 7.0 prévu pour le mois prochain. La RC1 de PowerShell 7.0 introduit de nouvelles fonctionnalités à l’outil en ligne de commande de Microsoft, notamment le support à long terme (LTS) de .NET Core 3.1, l’opérateur ternaire « a ? b : c », l’opérateur d'affectation et de coalescence nulle « ?? and ??= » et une version expérimentale de Invoke-DscResource multiplateforme.

PowerShell 7.0 intègre le support LTS de .NET Core 3.1

Microsoft a publié .NET Core 3.1 au début de ce mois, deux mois après avoir publié .NET Core 3.0. Microsoft a précisé qu'il s'agit essentiellement d'un petit ensemble de corrections et d’améliorations apportées à .NET Core 3.0. Les modifications apportées à .NET Core 3.1 concernaient principalement Blazor et Windows Desktop. Cela inclut la prise en charge de C ++/CLI, une demande habituelle des développeurs ciblant Windows. L’entreprise a également précisé qu’il s’agit d’une version prise en charge à long terme (LTS).

Microsoft en a aussi amélioré l’expérience de travail avec .NET Core 3.0 et 3.1 dans PowerShell 7.0. « Nous avons travaillé plus étroitement que jamais avec l'équipe .NET, non seulement avec les prévisualisations .NET Core 3.0 et 3.1, mais en travaillant main dans la main avec les développeurs .NET pour améliorer la performance de PowerShell. Comparé aux années passées où le passage à des versions de .NET pouvait être un processus fastidieux, le passage de .NET Core 2.1 à 3.0 est relativement facile, et le passage à 3.1 est totalement indolore », a-t-il déclaré.


Image du conteneur Docker du SDK .NET pour PowerShell 7.0

À partir de .NET Core 3.0, l'équipe .NET a commencé à inclure PowerShell Core dans ses images du docker SDK .NET. Selon Microsoft, c'est idéal pour n'importe quel développeur .NET Core développant des applications multiplateformes, lui permettant d'écrire ses scripts de construction, de test et de déploiement dans un seul langage de script (PowerShell), et indépendamment de la plateforme ou du fait qu'ils fonctionnent localement ou dans une solution CI/CD comme Azure Pipelines. Les images du SDK .NET Core 3.1 seront mises à jour avec le RC de PowerShell 7.0 lors de leur prochaine sortie régulière en janvier.

L’outil global .NET

L’outil global .NET est un moyen facile d'installer des paquets NuGet spéciaux en tant qu'applications complètes pour les utilisateurs qui ont déjà le SDK .NET installé sur leurs machines. Il vous suffit d’exécuter la commande « dotnet install --global powershell » sur n'importe quel système d’exploitation et vous obtiendrez un binaire pwsh à exécuter dans votre environnement. De plus, Microsoft a ajouté que vous pouvez également mettre à jour vers de nouvelles versions tout aussi facilement avec la commande « dotnet --global powershell ».

Comme pour les images de conteneurs SDK, l’outil global pour PowerShell 7.0 RC est déjà disponibles. Cependant, notez qu'en raison de la façon dont le versionnage fonctionne dans NuGet, vous devrez utiliser cette commande d'installation spécifique jusqu'à ce que la version stable de PowerShell 7.0 soit publiée : « dotnet tool install --global PowerShell --version 7.0.0.0-rc.1 ». Si vous effectuez une mise à niveau à partir d'une installation antérieure d'un outil global, utilisez : « dotnet tool update --global PowerShell --version 7.0.0.0-rc.1 ».

En attendant la sortie de la version stable de PowerShell 7.0 en janvier prochain, voici un bref aperçu de certains des éléments les plus intéressants que Microsoft propose dans PowerShell 7.0.

  • NET Core 3.1 (LTS) ;
  • enveloppe de compatibilité Windows ;
  • notification de nouvelle version ;
  • nouvelle vue d'erreur et cmdlet Get-Error ;
  • opérateurs de chaîne de pipeline (&& et |||) ;
  • opérateur ternaire (a ? b : c) ;
  • opérateurs d'assignation nulle et de coalescence ( ??? et ??=) ;
  • invoke-DscResource multiplateforme (expérimental) ;
  • out-GridView, -ShowWindowWindow et autres cmdlets de l'interface graphique sont de retour sous Windows ;
  • etc.


Sources : Microsoft, GitHub

Et vous ?

Qu'en pensez-vous ?

Voir aussi

.NET Core 3.0 est disponible avec le support du développement d'applications Windows Desktop, C# 8.0, ARM64, une prise en charge JSON intégrée rapide et de nombreuses autres améliorations

.NET Core 3.1 est disponible, il s'agit d'une version prise en charge à long terme (LTS) qui apporte des corrections et des améliorations à .NET Core 3.0

Microsoft évoque le futur de C++/CLI et de .NET Core : C++ sera disponible sur .NET Core 3.1 pour Windows

Pourquoi devez-vous faire usage de .NET Core 3.0 pour le développement d'applications de bureau Windows ? Microsoft se penche sur les avantages de cette approche

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de damthemad
Membre actif https://www.developpez.com
Le 30/03/2020 à 19:29
je teste du code PS directement issu de la doc Azure.
j'ai bien toutes les dépendances satisfaites en terme de modules AZ requis
ça marche pas. problème de dépendance manifeste, le ps appelle des trucs qu'existent pas

Allons bon, je suis en PS 5.1, il semblerait d'après la rumeur publique qu'il faille passer en PS 7. C'est en GA depuis bientôt un mois, pourquoi hésiter ?
Bon déjà, faut aller chercher le MSI dans un github.... GA qu'ils ont dit chez MS ?

Bon j'installe.
Code : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
13
PS C:\Users\damie> $PsVersionTable 
 
Name                           Value 
----                           ----- 
PSVersion                      7.0.0 
PSEdition                      Core 
GitCommitId                    7.0.0 
OS                             Microsoft Windows 10.0.18363 
Platform                       Win32NT 
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…} 
PSRemotingProtocolVersion      2.3 
SerializationVersion           1.1.0.1 
WSManStackVersion              3.0

Mes dépendances sont toujours OK

Code : Sélectionner tout
1
2
3
4
5
6
7
8
PS C:\Users\damie> Get-Module -ListAvailable AzT* 
 
 
    Directory: C:\Program Files\WindowsPowerShell\Modules 
 
ModuleType Version    PreRelease Name                                PSEdition ExportedCommands 
---------- -------    ---------- ----                                --------- ---------------- 
Manifest   2.0.2                 AzTable                             Desk      {Add-AzTableRow, Get-AzTableRow, Get-Az…

C'est quoi cette mention "Desk" dans la colonne Edition ? Pour tous mes autres modules, j'ai " Core,Desk"...
Sinon, la méthode qui est censée fonctionner d'après MS, elle est bien dans la liste des ExportedCommands (Add-AzTableRo)

MAIS ben tu sais quoi, ça marche toujours pas

Code : Sélectionner tout
1
2
3
4
5
6
7
8
9
PS C:\Users\damie> Add-AzTableRow -table $storageTable -partitionKey "partition1" -rowKey "CA" -property @{"username"="Chris";"userId"=1} 
InvalidOperation: C:\Program Files\WindowsPowerShell\Modules\AzTable\2.0.2\AzureRmStorageTableCoreHelper.psm1:239 
Line | 
 239 |  …      return ($Table.Execute([Microsoft.Azure.Cosmos.Table.TableOperat … 
     |                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
     | Method invocation failed because 
     | [Microsoft.WindowsAzure.Commands.Common.Storage.ResourceModel.AzureStorageTable] does not contain a 
     | method named 'Execute'. 

malgré mes recherches, je trouve pas trace d'une version desktop de PS 7.

Je soupçonne un problème de dépendance du module que j'utiliser, ou de PS 7, avec une version de .Net.

OK, je travaille pas plus que ça avec les technos MS et il me manque surement quelques infos
0  0 
Avatar de damthemad
Membre actif https://www.developpez.com
Le 31/03/2020 à 18:19
pfff j'ai trouvé, MS n'y est pour rien, c'est moi qui suis un boulet.
à ma décharge, je travaille pas trop avec les technos MS, je me met au PS pour l'administration système depuis quelques temps, et je dois dire que je trouve la plateforme très intéressante, notamment par rapport au scripting linux traditionnel

J'ai trouvé après avoir regardé le code source du module PS. Et finalement, j'avais pas bien lu la doc qui est bien à jour.
Et j'avais pas besoin d'upgrader ma version de PS

Quand à cette histoire d'édition Desktop ou Core, ça revient en fait à identifier une version windows (desk) basée sur .Net Framerk d'une version multiplateforme (core) basée sur .net core.
Ceci dit, cette histoire d'édition et de compatibilité de module avec telle ou telle édition a pas l'air totalement claire (mais bon c'est compréhensible à ce stade du déploiement de .net core).
0  0