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

CoreプロジェクトをラップしてMicrosoft OfficeのVBA用の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プロジェクトのプロジェクトファイルを開いて編集します。

/Com/Com.csproj

  1. <PropertyGroup>
  2. <TargetFramework>net481</TargetFramework>
  3. </PropertyGroup>
  4. <PropertyGroup>
  5. <PackageId>$(RootPackageId).Com</PackageId>
  6. <GenerateAssemblyInfo>true</GenerateAssemblyInfo>
  7. <AssemblyName>$(ComAssemblyName)</AssemblyName>
  8. <RootNamespace>$(PackageId)</RootNamespace>
  9. <EnableComHosting>false</EnableComHosting>
  10. <ComVisible>false</ComVisible>
  11. <RegisterForComInterop>false</RegisterForComInterop>
  12. <SignAssembly>true</SignAssembly>
  13. <AssemblyOriginatorKeyFile>$(SnKeyFile)</AssemblyOriginatorKeyFile>
  14. </PropertyGroup>
  15. <ItemGroup>
  16. <ProjectReference Include="..\Core\Core.csproj" PrivateAssets="all"
  17. IncludeAssets="compile; build; native" />
  18. </ItemGroup>
  19. </Project>
4行目~14行目
アセンブリ情報を定義しています。
9行目~11行目
プロジェクトとしてはCOMコンポーネントの公開設定を無効にしています。
12行目~13行目
署名の設定です。
15行目~18行目
Coreプロジェクトの参照定義です。
17行目
Coreプロジェクトの依存パッケージを出力フォルダーにコピーしない設定です。
~Core.dllには依存パッケージが含まれています。