02.Comプロジェクトの作成

CoreプロジェクトをラップしてMicrosoft OfficeVBA用のComパッケージを作成するプロジェクトを作成します。

windows:vs:newproject.png

Visual Studio

ソリューションエクスプローラーの『ソリューション』で右クリック➡『追加(D)』➡『新しいプロジェクト(N)…』でプロジェクトをソリューションに追加します。

windows:vs:cs:library:com0101.png

新しいプロジェクトを追加

C# Windows ライブラリからクラスライブラリ(.NET Framework)を選択します。

windows:vs:cs:library:com0102.png

新しいプロジェクトを構成します

プロジェクト名を『Com』にしています。
フレームワークは『.NET Framework 4.8.1』を選択しています。

作成(C)』でComプロジェクトが作成されます。

windows:vs:cs:library:com0103.png

Class1.csの削除

自動的に作成された『Class1.cs』を削除します。

Comプロジェクトの定義を作成

下記のいずれかの方法でComプロジェクトのプロジェクトファイルを開いて編集します。

  <PropertyGroup>
    <TargetFramework>net481</TargetFramework>
  </PropertyGroup>
  <PropertyGroup>
    <PackageId>$(RootPackageId).Com</PackageId>
    <GenerateAssemblyInfo>true</GenerateAssemblyInfo>
    <AssemblyName>$(ComAssemblyName)</AssemblyName>
    <RootNamespace>$(PackageId)</RootNamespace>
    <EnableComHosting>false</EnableComHosting>
    <ComVisible>false</ComVisible>
    <RegisterForComInterop>false</RegisterForComInterop>
    <SignAssembly>true</SignAssembly>
    <AssemblyOriginatorKeyFile>$(SnKeyFile)</AssemblyOriginatorKeyFile>
  </PropertyGroup>
  <ItemGroup>
    <ProjectReference Include="..\Core\Core.csproj" PrivateAssets="all"
                      IncludeAssets="compile; build; native" />
  </ItemGroup>
</Project>

4行目~14行目
アセンブリ情報を定義しています。
9行目~11行目
プロジェクトとしてはCOMコンポーネントの公開設定を無効にしています。
12行目~13行目
署名の設定です。
15行目~18行目
Coreプロジェクトの参照定義です。
17行目
Coreプロジェクトの依存パッケージを出力フォルダーにコピーしない設定です。
~Core.dllには依存パッケージが含まれています。