ライブラリを作成する
参考:
C# DLL ファイルを作成しプロジェクトで参照 | ITSakura
Visual Studio で DLL を作成して使う | 中堅プログラマーの備忘録
C# ライブラリ (DLL) の作成方法 | イメージングソリューション
DLL を使う
参考:
プロジェクトを作成する
手順
- Visual Studio 用プロンプト (Developer Command Prompt for VS 2019) を開く。
- プロジェクトを作成するフォルダに移動し、
dot new
コマンドを使用して、プロジェクトを作成する。>cd Path\to\Folder_for_Projects >dotnet new classlib -o My_DLL_Project
ドキュメント:
dotnet new コマンド | Microsoft Learn [公式]
参照
参考:
DLL の修正で参照元も全部ビルドし直すのか? (.NET) | misc.log
アンマネージド/ネイティブライブラリを使う
参考:
C++ で DLL を作成して C# から呼ぶ | LIGHT11
デバッグ
参考:
DLL プロジェクトをデバッグする | Microsoft Docs [公式]
Unity 用に DLL をビルドする
プロジェクトを作成する。
>cd Path\to\Folder_for_Projects >dotnet new classlib -o My_DLL_Project
ビルドする。
>cd My_DLL_Project >dotnet publish -c Release -r win-x64
プロジェクト内の bin\Release
以下のディレクトリにビルドされた DLL が出来上がる。
bin\Release\netXXX\win-x64\My_DLL_Project.dll
参考:
VSCode + C# で DLL を作成して Unity で使用する方法 – Qiita
.NET Core で AssemblyInfo.cs の生成を制御する | tech.guitarrapc.cóm
アンセーフコードを許可する
ドキュメント:
AllowUnsafeBlocks – C# コンパイラ オプション | Microsoft Learn [公式]
情報をストリップしたい
参考:
Is it possible to ‘strip’ a .NET DLL? – Stack Overflow
難読化する
参考:
.NET アプリの逆コンパイルは如何に簡単か? | AG-TECH
.NET 逆コンパイラとコードを難読化する Dotfuscator | @IT
DLL を修正したい
参考:
CLR Injection – Runtime Method Replacer | CodeProject
MethodRental.SwapMethodBody Method | Microsoft Docs [Official]
How to replace a class in a dll? – Stack Overflow
Replacing a .NET type at runtime – Stack Overflow
Developer Pack (SDK)
入手: