I am converting an old Silverlight application into Asp.Net Core, using Blazor and Razor Pages.
The old application is opening Outlook, and creating an email ready to send with a Subject, From etc, plus a series of attachments. It is creating an object to do this using the following code:
Dynamic outlook = AutomationFactory.GetObject(“Outlook.Application”).
In my web-site, I do something similar:
- Use a COM reference to the Microsoft Outlook 16.0 object library.
- If Outlook is already running, then get a reference to its associated “Outlook.Application” COM object as per https://renenyffenegger.ch/notes/Microsoft/dot-net/namespaces-classes/System/Runtime/InteropServices/Marshal/GetActiveObject.
- Otherwise, create an object using
Microsoft.Office.Interop.Outlook.Application appOutlook = new Microsoft.Office.Interop.Outlook.Application();
This works when running my web-site locally in Visual Studio, however I cannot deploy it to Azure:
C:\Program Files\dotnet\sdk\6.0.201\Microsoft.Common.CurrentVersion.targets(2926,5): Error : MSB4803: The task "ResolveComReference" is not supported on the .NET Core version of MSBuild. Please use the .NET Framework version of MSBuild. See https://aka.ms/msbuild/MSB4803 for further details.
I’m assuming that I won’t be able to use this approach, however I can’t see any alternative. Any suggestions as to how I can do this in an ASP.Net Core Blazor web-site would be greatly appreciated.