C#を手動でコンパイル(NPOIを使う)

.NETが入っていればC#のコンパイラ「csc.exe」が使えます。

C:\Windows\Microsoft.NET\Framework???

このあたりにあります。

何をしたかったのか?

オフライン環境(NuGet使わず)で、C# + NPOI でExcelを操作したかった。

やったこと

NuGetのサイトから「NPOI」のパッケージ(npoi.X.X.X.nupkg)をダウンロードしてきた。また、依存ライブラリとして「SharpZiplib」が必要なので、同様にパッケージをダウンロードする。(画面右側の「Download package」からダウンロード。拡張子は *.nupkgだが、中身はZipなので拡張子変更などして展開する。)

SharpZipLibのバージョンに注意すること。NPOIが依存しているSharpZipLibのバージョンが、必ずしも最新ではない。(どのバージョンが必要かは、「NPOI.nuspec」に書いてあるようです)
2021.7.16時点においては…

  • NPOI 2.5.3 →最新バージョン
  • SharpZipLib 1.2.0 →最新バージョンは1.3.2だが、NPOI.2.5.3には1.2.0が必要

とりあえず、DLしてきた圧縮ファイルを展開して、DLLを1か所に集めてコンパイルします。サンプルソースはググるといっぱい出てくるのでそれを参考に。コンパイルは、csc.exeのパスを通すしておくと楽!

↓↓↓実際に作ったバッチ(パスが通った状態でコマンドプロンプト使えるので)

[init.bat]
set PATH=C:\Windows\Microsoft.NET\Framework64\4.0.30319;%PATH%
cmd

コンパイルのコマンドは以下

csc source.cs /reference:NPOI.dll,NPOI.OOXML.dll,NPOI.OpenXml4Net.dll,NPOI.OpenXmlFormats.dll,ICSharpCode.SharpZipLib.dll
pc/program/c_sharp_manualcompile.txt · 最終更新: 2021/07/18 15:18 by wtaki
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0