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 !

Microsoft ne pourra pas porter Visual Studio Tools pour Office vers .NET Core,
L'entreprise avait bien accueilli cette demande des développeurs, mais la faisabilité technique est remise en cause

Le , par Michael Guilloux

72PARTAGES

13  0 
Microsoft ne pourra satisfaire une demande de longue date des développeurs visant à implémenter le portage de Visual Studio Tools pour Office (VSTO) vers .NET Core. L'entreprise avait dès le départ offert un accueil chaleureux à cette suggestion, mais après analyse de la faisabilité technique, Microsoft a clôturé le dossier sans donner une suite favorable. Mais pourquoi cette fonctionnalité est-elle importante pour les développeurs ? Et pourquoi Microsoft ne pourra-t-il pas l'implémenter ?

En octobre 2019, un développeur a exprimé la nécessité de porter Visual Studio Tools pour Office (VSTO) vers .NET Core. Auteur de compléments Excel VSTO écrits en C#, il a suggéré que cette fonctionnalité soit prise en charge, de même que WinForms a été porté sur .NET.Core. « Veuillez également porter VSTO en C# vers .NET 5, pour permettre le développement de modules complémentaires en C# dans le nouveau .Net », a-t-il plaidé.

Pour information, Microsoft offre différentes possibilités aux développeurs de créer des compléments pour étendre les fonctionnalités des applications Office et les automatiser. L'une d'entre elles consiste à utiliser le langage VBA. Même si cette méthode est désormais considérée comme dépassée, elle est toujours prise en charge en raison de sa large utilisation dans les entreprises.

En 2003, Microsoft a introduit Visual Studio Tools pour Office (VSTO) comme un nouveau moyen d'étendre les applications Office. VSTO permet d'utiliser .NET pour coder des solutions basées sur Office. Il est basé sur COM (Component Object Model), le modèle objet de composants Windows, et a accès à toutes les API exposées par Office. Cependant, VSTO ne prend en charge que Windows.

Une décennie plus tard, Microsoft lance une nouvelle façon d'étendre Office à l'aide d'une API JavaScript. Cette option est connue sous le nom d'Office Web Add-ins ou tout simplement Office Add-ins. Les compléments Office sont hébergés sur des serveurs Web et utilisent les API JavaScript Office. Si cette option est limitée par rapport à VSTO, elle a néanmoins des avantages.

Les compléments Office vous permettent d’utiliser des technologies web que vous connaissez, telles que le code HTML, CSS et JavaScript, pour étendre Word, Excel, PowerPoint, OneNote, Project et Outlook, et interagir avec ces programmes. Votre solution peut être exécutée dans Office sur plusieurs plateformes, notamment Windows, Mac et iPad, ainsi que dans un navigateur.


Les deux approches sont toutefois incompatibles, étant donné qu'il n'est possible de migrer les compléments COM/VSTO qu'en les convertissant en JavaScript. Cela a donc freiné la migration des compléments existants vers la technologie JavaScript.

Avec l'avènement de .NET Core 3.0 à la fin de 2019, Microsoft a commencé à prendre en charge des technologies uniquement Windows telle que Windows Forms et Windows Presentation Foundation avec sa version multiplateforme de .NET, ce qui a amené les développeurs VSTO à espérer que .NET dans Office serait également mis à jour, car beaucoup n'avaient pas fait la transition vers l'API JavaScript. Dans l'ensemble, ceux qui disent en avoir vraiment besoin évoquent le fait que les compléments JS ne fonctionnent pas pour leurs cas d'utilisation, et ils ont déjà une grande base de code existante dans les bibliothèques .NET Standard.

Microsoft s'est d'abord montré réactif en prenant très vite en charge le problème, avant de le clôturer ces derniers jours. La firme explique en effet qu'on ne peut pas créer de compléments COM/VSTO avec .NET Core / .NET 5+ « parce que .NET Core/.NET 5+ ne peuvent pas fonctionner avec .NET Framework dans le même processus et cela peut entraîner des échecs de chargement du complément ». Microsoft ne mettra donc pas à jour la plateforme VSTO/COM pour utiliser .NET Core ou .NET 5+. L'entreprise a assuré aux développeurs que « la plateforme de compléments VSTO/COM est très importante » pour elle et a promis de continuer à la prendre en charge avec .NET Framework 4.8. En effet, pour ceux qui gèrent des solutions .NET Framework, il n'est pas nécessaire de les déplacer vers .NET Core et .NET 5+. Mais pour ce qui est de l'avenir, la firme de Redmond recommande d'utiliser « les API JavaScript multiplateformes. »

Cette recommandation n'a pas été bien accueillie par les développeurs qui insistent sur le fait que l'option JavaScript n'offre pas des fonctionnalités dont ils ont besoin et que les performances sont inférieures aux normes. En plus, devoir intégrer une application Web (nécessaire avec l'option JavaScript) est un fardeau.

Dans ce cas, pourquoi ne pas se contenter de .NET Framework 4.8 (la dernière version) ? La réponse est simple : les développeurs estiment que les performances ont pris du retard avec .NET Framework 4.8. En outre, ils veulent de nouvelles fonctionnalités comme la prise en charge native des plateformes ARM, et ils craignent que la compatibilité avec d'autres bibliothèques .NET soit un problème à l'avenir. Certains suggèrent donc que Microsoft ouvre le code de VSTO afin que les utilisateurs puissent le migrer vers une version .Net Core moderne.

Source : Demande de la fonctionnalité, Réponse de Microsoft

Et vous ?

Qu'en pensez-vous ?
Quelles solutions utilisez-vous pour étendre les applications Office ? Pourquoi ?

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

Avatar de Pierre Fauconnier
Responsable Office & Excel https://www.developpez.com
Le 03/07/2021 à 19:58
Citation Envoyé par Jeff_67 Voir le message
[...]l'obsolescence de VBA.[...]

Dans la mesure où je ne t'ai pas vu souvent sur les forums VBA, ce que tu entends par "obsolescence de VBA" m'intéresse. Tu peux m'en dire plus? Parce que parler d'obsolescence sans apporter d'arguments, ça n'apporte pas grand-chose...
1  0 
Avatar de zerozer1
Candidat au Club https://www.developpez.com
Le 21/07/2021 à 0:45
Et un poignard de plus dans le dos des développeurs de la part de Microsoft.
Merci MS, je passe à Java.
0  0 
Avatar de Pierre Fauconnier
Responsable Office & Excel https://www.developpez.com
Le 22/07/2021 à 7:26
Citation Envoyé par zerozer1 Voir le message
Et un poignard de plus dans le dos des développeurs de la part de Microsoft.
Merci MS, je passe à Java.
Java pour développer sur Office?
0  0 
Avatar de Jeff_67
Membre éprouvé https://www.developpez.com
Le 15/06/2021 à 18:05
VSTO est une mauvaise solution à un vrai problème : l'obsolescence de VBA.

Les solutions existantes pour utiliser CPython dans Office sont onéreuses, en plus de ne pas être optimales. Microsoft aurait tout intérêt à creuser dans cette direction, succès garanti.

Bien entendu, il faut proposer un truc gratuit, pas comme VSTO donc.
2  4