6
votes

VSTO avec .NET Core 3.0

Je me demandais si le VSTO fonctionne sur le nouveau .NET Core 3 qui prend en charge les objets COM. Un projet peut être créé avec .Net Framework, puis migrer vers .NET Core en modifiant le fichier .csproj, mais sera-t-il compatible avec VSTO? Sinon, existe-t-il une alternative au VSTO dans .NET Core 3?


2 commentaires

VSTO est utilisé pour créer des compléments «natifs» et ceux exécutés sur le runtime fourni par l'application Office qui les exécute. C'est .NET Framework. Compte tenu de la nouvelle architecture Office Addin basée sur Javascript, je doute que VSTO supportera jamais .NET Core.


VSTO va-t-il continuer dans .NET?


3 Réponses :


2
votes

Il semble qu'il n'y ait actuellement aucune alternative. Il y a une demande pour ajouter ce support à l'avenir à .Net 5 https://developercommunity.visualstudio.com/idea/757925/please-port-visual-studio-tools-for-office-vsto-to.html

La recommandation semble actuellement utiliser la plate-forme Office JS pour créer des compléments. Ceux-ci seront également compatibles sur toutes les plates-formes ( https://blogs.msdn.microsoft.com/deva/2018/04/02/office-developer-difference-between-office-web-addin-vs-comvsto-addin )


0 commentaires

1
votes

VSTO ne prend actuellement pas en charge le noyau .Net.
Mais rien ne vous empêche de créer un complément basé sur COM pur en implémentant un objet COM qui expose l'interface IDTEXtensibility2 .
La question est de savoir pourquoi avez-vous besoin de développer un complément en utilisant .Net Core seul? Votre complément s'exécutera sur une machine sur laquelle la suite Office est installée, ce qui signifie que le runtime .Net sera également installé.


1 commentaires

Il existe certains scénarios dans lesquels la fonctionnalité .NET Core peut être plus utile. Par exemple, dans l'un de mes compléments VSTO , j'ai essayé d'utiliser la méthode File.WriteAllTextAsync mais cela n'a pas fonctionné car cette méthode est prise en charge uniquement dans .NET Core 2.0 et versions ultérieures. Bien sûr, il existe des alternatives, mais une fonctionnalité intégrée serait une préférence.



0
votes

Exemple d'implémentation et de complément basé sur .NET 5 (pour Visio, avec configuration sur WIX) Devrait compiler et fonctionner.

Ajoute un seul bouton cliquable au ruban: https://github.com/nbelyh/VisioComAddinNet5

Les étapes doivent cependant être communes à toutes les applications bureautiques.


0 commentaires