none
VSTO + dotnet core? RRS feed

  • Question

  • The current approach recommended by Microsoft for add-in development is Javascript add-ins. It is good because it is cross-platform ("Office Add-ins run across multiple versions of Office including Office for Windows Desktop, Office Online, Office for the Mac, and Office for the iPad."), but development in Javascript isn't very pleasant for those who used to do it in real programming language like C# (joke alert). Also JS API is currently under development and much less powerful than existing VSTO API. 

    At the same time, Microsoft recently released .NET Core 1.0 that is also cross-platform (well, minus Office Online).

    If Microsoft would use .NET Core for VSTO add-ins they could run in Office for the Mac and iPad too and could be allowed in Office Store. Many existing plugins could be easily ported for this "VSTO Core" and C# developers would be happy because they would not have to use Javascript.

    Are there any technical or other reasons why it is not possible?

    Is Microsoft going to do it?

    If not, what is the right place for such suggestions to VSTO team?

    PS. I know that VSTO is based on COM, but .NET Core supports Native Interoperability on Windows/Linux/Mac and it should be theoretically possible to make some wrapper for Office on Mac that implements existing interfaces from VSTO. That shouldn't be developing from scratch if Windows and Mac Office have shared code.
    • Edited by OutSorcerer Tuesday, August 2, 2016 2:08 PM
    Tuesday, August 2, 2016 1:31 PM

Answers

  • Hello,

    .Net core can be run on different platforms, but not the COM technology on which VSTO add-ins are based on. There is no way to run old-fashioned Office add-ins on multiple platforms because the COM technology exists on Windows only. If the Office team re-design add-ins and introduce managed ones based on the .Net core, only then you will be able to run such solutions under different OS.


    [custom.development]

    • Marked as answer by OutSorcerer Tuesday, August 2, 2016 2:09 PM
    Tuesday, August 2, 2016 2:05 PM

All replies

  • Hello,

    .Net core can be run on different platforms, but not the COM technology on which VSTO add-ins are based on. There is no way to run old-fashioned Office add-ins on multiple platforms because the COM technology exists on Windows only. If the Office team re-design add-ins and introduce managed ones based on the .Net core, only then you will be able to run such solutions under different OS.


    [custom.development]

    • Marked as answer by OutSorcerer Tuesday, August 2, 2016 2:09 PM
    Tuesday, August 2, 2016 2:05 PM
  • Hoping support for COM interoperability in .NET Core in future versions.

    We all know that within VSTO environment both marshaling datatypes and making platform invoke calls to unmanaged functions are handled seamlessly by the CLR. Such that, if .NET Core managed to support this, it is easy as we do in VSTO environment.


    Wednesday, August 3, 2016 11:40 AM
  • Hello Kareem,

    It would be great to see COM add-ins ported to another platforms. But I don't think it will be in the near future.


    [custom.development]

    Wednesday, August 3, 2016 2:24 PM