.NET SDK の学習の初手として dotnet コマンドでサンプル(「C#(.NET 8)から Excel を制御する」)のビルドを試みた。
テンプレートの作成
次のコマンドを投入して ./ConsoleApp/ に Program.cs と ConsoleApp.csproj を生成した。
dotnet new console -o ConsoleApp
Program.cs の差替え
サンプルのソースコードに差替えた。
ConsoleApp.csproj の編集
Program.cs には次の行が含まれる。
using Excel = Microsoft.Office.Interop.Excel;
この参照を設定するため ConsoleApp.csproj を次のように編集した。<HintPath> はこの記事を参考に設定した( C:\Windows\assembly 以下に存在する同名のライブラリのパスを指定したところ、ビルドは成功するものの、ランタイムに何故かファイル名が不測のものになりエラーが発生)。
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<Reference Include="Microsoft.Office.Interop.Excel">
<HintPath>C:\Program Files\Microsoft Office\root\Office16\ADDINS\Microsoft Power Query for Excel Integrated\bin\Microsoft.Office.Interop.Excel.dll</HintPath>
</Reference>
</ItemGroup>
</Project>
ビルド・実行
次のコマンドを投入すると ./bin/Debug/net8.0/ConsoleApp.exe が作成され Book1.xlsx が表示される。
dotnet run