Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

VSTO in .NET Core

Microsoft recommends to develop Office add-ins using the new Office.JS Add-ins mainly because of cross-plataforming.

We all saw a new player arriving, .NET Core. If Microsoft used .NET Core to create VSTO cross-plataforms, it would be awesome. VSTO has the benefit to be much more tied to Excel's process (not as tied as VBA) than the asynchronous Office.JS. This would please a lot of VSTO/VBA developers as they wouldn't have to learn JavaScript/CSS/HTML and a new deploying paradigm.

VSTO is based on COM, but I believe it would be possible to extends the existing APIs on VSTO to support Linux and Mac. It is undeniable that a VSTO add-in running in Excel's process is better than an Office.JS add-in.

My questions is: Is there a huge technical reason why this is not possible or too hard to implement?

like image 782
Felipe Costa Gualberto Avatar asked Apr 03 '17 22:04

Felipe Costa Gualberto


People also ask

How do I create a VSTO file?

To create a new Excel VSTO Add-in project in Visual StudioStart Visual Studio. On the File menu, point to New, and then click Project. In the templates pane, expand Visual C# or Visual Basic, and then expand Office/SharePoint. Under the expanded Office/SharePoint node, select the Office Add-ins node.

What are VSTO files?

Visual Studio Tools for Office (VSTO) is a set of development tools available in the form of a Visual Studio add-in (project templates) and a runtime that allows Microsoft Office 2003 and later versions of Office applications to host the . NET Framework Common Language Runtime (CLR) to expose their functionality via .

Is VSTO still supported?

Get started programming VSTO Add-ins - Visual Studio (Windows) | Microsoft Learn. This browser is no longer supported. Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.

What is VSTO used for?

Based on Microsoft's . NET environment, VSTO is used to create Office "add-ins" that perform functions such as automatically filling in fields in a Word or Excel document and emailing the files or uploading them to a SharePoint server. As of VSTO 2005, support for enhancing Outlook was added.


1 Answers

COM interop requires IDispatch in order to allow late binding to COM objects, which is for Windows only and obviously not a component that satisfies .NET Core's cross-platform compatibility. So .NET Core cannot integrate with Interop assemblies without this support for IDispatch.

like image 62
Eric Legault Avatar answered Oct 21 '22 03:10

Eric Legault