Skip to content

Commit

Permalink
Add add-in using .NET 5
Browse files Browse the repository at this point in the history
  • Loading branch information
jozefizso committed Nov 28, 2020
1 parent 9e4ca43 commit 09c2f53
Show file tree
Hide file tree
Showing 4 changed files with 86 additions and 0 deletions.
48 changes: 48 additions & 0 deletions NetCoreAddins/Net5Addin/Net5Addin.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
using System;
using System.Diagnostics;
using System.Runtime.InteropServices;
using Extensibility;

namespace NetOfficeSamples
{
[ComVisible(true)]
[Guid("9A205EF3-1BFD-4B72-82D0-BC7CC3CF9697")]
[ProgId("NetOfficeSamples.Net5Addin")]
public class Net5Addin : IDTExtensibility2
{
public void OnConnection(object application, ext_ConnectMode connectMode, object addInInst, ref Array custom)
{
Trace.WriteLine($"Addin connected to application. Mode: {connectMode}");
var type = application.GetType();
var name = type.FullName;
var isCom = Marshal.IsComObject(application);

try
{
var unknown = Marshal.GetIUnknownForObject(application);
}
catch (Exception ex)
{
Trace.TraceError($"Marshal failed. {ex}");
}
}

public void OnDisconnection([In] ext_DisconnectMode removeMode, [In, MarshalAs(29, SafeArraySubType = VarEnum.VT_VARIANT)] ref Array custom)
{
Trace.WriteLine($"Addin disconnecting from application. Mode: {removeMode}");
}

public void OnAddInsUpdate([In, MarshalAs(29, SafeArraySubType = VarEnum.VT_VARIANT)] ref Array custom)
{
}

public void OnStartupComplete([In, MarshalAs(29, SafeArraySubType = VarEnum.VT_VARIANT)] ref Array custom)
{
Trace.WriteLine($"Addin startup completed.");
}

public void OnBeginShutdown([In, MarshalAs(29, SafeArraySubType = VarEnum.VT_VARIANT)] ref Array custom)
{
}
}
}
27 changes: 27 additions & 0 deletions NetCoreAddins/Net5Addin/Net5Addin.csproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFramework>net5.0-windows</TargetFramework>
<EnableComHosting>true</EnableComHosting>
<Platforms>x86</Platforms>
<PlatformTarget>x86</PlatformTarget>
</PropertyGroup>

<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x86'">
<DebugType>full</DebugType>
<DebugSymbols>true</DebugSymbols>
</PropertyGroup>

<ItemGroup>
<Reference Include="Extensibility">
<HintPath>C:\Program Files (x86)\Common Files\Microsoft Shared\MSEnv\PublicAssemblies\extensibility.dll</HintPath>
</Reference>
</ItemGroup>

<ItemGroup>
<None Update="register-addin.cmd">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</ItemGroup>

</Project>
5 changes: 5 additions & 0 deletions NetCoreAddins/Net5Addin/register-addin.cmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
C:\Windows\SysWOW64\regsvr32.exe /s Net5Addin.comhost.dll

reg add "HKEY_CURRENT_USER\Software\Microsoft\Office\Word\Addins\NetOfficeSamples.Net5Addin" /f /v FriendlyName /t REG_SZ /d ".NET 5 Addin"
reg add "HKEY_CURRENT_USER\Software\Microsoft\Office\Word\Addins\NetOfficeSamples.Net5Addin" /f /v Description /t REG_SZ /d "Sample addin running in .NET 5."
reg add "HKEY_CURRENT_USER\Software\Microsoft\Office\Word\Addins\NetOfficeSamples.Net5Addin" /f /v LoadBehavior /t REG_DWORD /d 3
6 changes: 6 additions & 0 deletions NetCoreAddins/NetCoreAddins.sln
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ VisualStudioVersion = 16.0.30717.126
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NetCore3Addin", "NetCore3Addin\NetCore3Addin.csproj", "{1B34DD2B-152E-4036-A7F5-8513237E7E23}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Net5Addin", "Net5Addin\Net5Addin.csproj", "{C82199E3-5059-42C4-8A9B-A86658FBA636}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x86 = Debug|x86
Expand All @@ -15,6 +17,10 @@ Global
{1B34DD2B-152E-4036-A7F5-8513237E7E23}.Debug|x86.Build.0 = Debug|x86
{1B34DD2B-152E-4036-A7F5-8513237E7E23}.Release|x86.ActiveCfg = Release|x86
{1B34DD2B-152E-4036-A7F5-8513237E7E23}.Release|x86.Build.0 = Release|x86
{C82199E3-5059-42C4-8A9B-A86658FBA636}.Debug|x86.ActiveCfg = Debug|x86
{C82199E3-5059-42C4-8A9B-A86658FBA636}.Debug|x86.Build.0 = Debug|x86
{C82199E3-5059-42C4-8A9B-A86658FBA636}.Release|x86.ActiveCfg = Release|x86
{C82199E3-5059-42C4-8A9B-A86658FBA636}.Release|x86.Build.0 = Release|x86
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Expand Down

0 comments on commit 09c2f53

Please sign in to comment.