.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