溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Unity怎么打包代碼到DLL

發(fā)布時間:2023-03-09 10:49:23 來源:億速云 閱讀:145 作者:iii 欄目:開發(fā)技術

今天小編給大家分享一下Unity怎么打包代碼到DLL的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

使用Unity API PlayerBuildInterface.CompilePlayerScripts 將項目中的代碼生成為 DLL 程序集

在 Editor 文件夾下新建腳本 CompileDll

using UnityEngine;
using UnityEditor;
using UnityEditor.Build.Player;
using System.IO;

public class CompileDll
{
    // 菜單欄添加按鈕
    [MenuItem("Tools/CompileDll")]
    static void Compile()
    {
        // 設置需要打DLL 的平臺 
        BuildTarget target = BuildTarget.StandaloneWindows64;
        ScriptCompilationSettings scriptCompilationSettings = new ScriptCompilationSettings();
        scriptCompilationSettings.group = BuildPipeline.GetBuildTargetGroup(target);
        scriptCompilationSettings.target = target;

        // 獲取 dll 輸出目錄
        string outDir = Application.dataPath;
        outDir = outDir.Substring(0, outDir.IndexOf("Assets"));
        outDir = string.Format("{0}DLL", outDir);
        if (!Directory.Exists(outDir))
        {
            Directory.CreateDirectory(outDir);
        }

        // 編譯DLL
        ScriptCompilationResult scriptCompilationResult = PlayerBuildInterface.CompilePlayerScripts(scriptCompilationSettings, outDir);
        foreach(var ass in scriptCompilationResult.assemblies)
        {
            Debug.LogFormat("compile assemblies:{0}/{1}", outDir, ass);
        }
    }

}

Unity怎么打包代碼到DLL

點擊 Tools->CompileDll 按鈕,在 代碼中 outDir 目錄下生成所有 dll 以及 對應的 .pdb

Unity怎么打包代碼到DLL

如上 DLL 程序集是如何確定名字的?
如上 AA.dll
在 需要生成 AA.dll 的 C# 腳本目錄下,新建 AA.asmdef
在 C# 腳本所在目錄 右鍵 Create -> Assembly Definition

Unity怎么打包代碼到DLL

然后生成一個 .asmdef 的文件,選擇文件在 Inspector 面板輸入名字

Unity怎么打包代碼到DLL

然后在 AA.asmdef 目錄新建一個 Npc.cs

Unity怎么打包代碼到DLL

選擇 Npc.cs 看 Inspector 面板可以看到 Npc.cs 歸屬于 AA.dll 程序集

在項目中任意選一個 C# 腳本,都可以在 Inspector 面板看到它歸屬的 dll 程序集

Unity怎么打包代碼到DLL

這就是上面執(zhí)行編譯導出的 dll 的來源

以上就是“Unity怎么打包代碼到DLL”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI