1.代码示例

    void LoadDll() {
//Unity版本对于Load Dll的影响
//2019 就算在运行时修改了dll,也是无效的,拿的还是上一次的dll
//2020 unity认为相同路径为上一次的dll
//2021 没问题 //读取相对路径文件夹下的某种名称的 dll
string BuildOutputDir = "./Temp/Bin/Debug";
string[] logicFiles = Directory.GetFiles(BuildOutputDir, "My*.dll"); if (logicFiles.Length != 1)
{
throw new Exception("Logic dll count != 1");
} string logicName = Path.GetFileNameWithoutExtension(logicFiles[0]);
byte[] assBytes = File.ReadAllBytes(Path.Combine(BuildOutputDir, $"{logicName}.dll"));
byte[] pdbBytes = File.ReadAllBytes(Path.Combine(BuildOutputDir, $"{logicName}.pdb"));
//通过 dll 和 pdb 加载程序集
Assembly hotfixAssembly = Assembly.Load(assBytes, pdbBytes); //实例化调用 dll 方法,也可以用静态的
Type type = hotfixAssembly.GetType("TestCode.Class1");
object obj = Activator.CreateInstance(type);
MethodInfo methodInfo = type.GetMethod("Test");
methodInfo.Invoke(obj, null);
}

2.添加独立工程

在用代码编辑器打开的工程里面,添加一个类库工程,类库工程负责生成 dll ,主工程去读取这个dll文件

unity 热重载方式加载 dll的更多相关文章

  1. 动态链接库知识点总结之三(如何以显示的方式加载DLL)

    总结一下如何显示加载方式加载DLL, 首先,我们新建一个win32项目,选择dll,空项目,再添加一个源文件,一个模块定义文件(.def),具体如下图.(详细方法已经在前两篇文章中讲述,如有不懂,打开 ...

  2. Windows x86 x64使用SetThreadContext注入shellcode的方式加载DLL

    一.前言 注入DLL的方式有很多,在R3就有远程线程CreateRemoteThread.SetWindowsHookEx.QueueUserApc.SetThreadContext 在R0可以使用a ...

  3. 两种加载dll的方式

    通过链接lib文件加载dll的话,使用过程中没法动态切换 通过loadlibrary函数动态加载的话,可以动态切换

  4. unity3d动态加载dll的API以及限制

    Unity3D的坑系列:动态加载dll 一.使用限制 现在参与的项目是做MMO手游,目标平台是Android和iOS,iOS平台不能动态加载dll(什么原因找乔布斯去),可以直接忽略,而在Androi ...

  5. Unity3D的坑系列:动态加载dll

    我现在参与的项目是做MMO手游,目标平台是Android和iOS,iOS平台不能动态加载dll(什么原因找乔布斯去),可以直接忽略,而在Android平台是可以动态加载dll的,有了这个就可以实现代码 ...

  6. unity 5.3 以后加载场景

    记录下官方建议的加载场景的方法: StartCoroutine(LoadYourAsyncScene()); IEnumerator LoadYourAsyncScene() { // The App ...

  7. c#实现动态加载Dll(转)

    c#实现动态加载Dll 分类: .net2009-12-28 13:54 3652人阅读 评论(1) 收藏 举报 dllc#assemblynullexceptionclass 原理如下: 1.利用反 ...

  8. 加载dll过程中assembly失败

    错误现象: 进行插件读取时出现错误:“尝试从一个网络位置加载程序集,在早期版本的 .NET Framework 中,这会导致对该程序集进行沙盒处理.此发行版的 .NET Framework 默认情况下 ...

  9. 关于Windows平台下应用程序加载DLL模块的问题.

    本文将讨论以下问题: (1)Windows可执行程序会从哪些目录下加载DLL. (2)如何将可执行使用的DLL放置到统一的目录下,而不是与EXE同一目录. (3)可执行程序加载了不该加载的DLL. ( ...

  10. java 加载dll介绍(转)

    最近在做的工作要用到本地方法,需要在Java中加载不少动态链接库(以下为方便延用Windows平台下的简写dll,但并不局限于Windows).刚刚把程序跑通,赶紧把一些心得写出来,mark.也希望对 ...

随机推荐

  1. SQL 日常练习 (二十)

    也只是尽快搬完这快一个月 sql 的砖, 准备要来整新学习模块了, 因此, 正好趁着五一, 加波速. 也会一直坚守和追求, 学无止境, 气有浩然. 每次都会说, 这是一种精神的传承,而我想的是, 不仅 ...

  2. openEuler 20.03 LTS安装单病种前置机

    # 下载配置文件包 cd /opt wget https://interface-soft.oss-cn-hangzhou.aliyuncs.com/manual-package/config.tar ...

  3. Typora中markdown文件无法识别行内公式(内联公式)

    行内公式属于LaTeX扩展语法,而不属于Markdown的通用标准.为了使Typora予以解析,需要在Typora的"文件"-"偏好设置"中,勾选"内 ...

  4. 部署Spring Boot项目详细教程

    首先Spring Boot项目能正常使用IP地址搭配接口在浏览器正常运行 第一步: 打开Maven里面Lifecycle下面的package或者是install双击运行(需要有网络) 第二步: 查看运 ...

  5. stopPropagation()方法阻止父级事件

    方式一 <div id="div1"> <div id="div2"></div> </div> $(" ...

  6. web ctf日记

    X-Forworded-For:从本地访问 Refer:从**网址访问 一句话木马:`<?php @eval($_POST['a']);?>` eval将a作为PHP程序post进入(用蚁 ...

  7. Java Set的五种遍历方式

      摘要:介绍Java遍历Set的五种方式,并分析哪中方式效率高,建议使用增强for循环变量.   Set 和 List 遍历方式基本一致,本文介绍Set的遍历方式,并比较那种方法执行效率最高. 1. ...

  8. Spring扩展接口-BeanFactoryPostProcessor

    .markdown-body { line-height: 1.75; font-weight: 400; font-size: 16px; overflow-x: hidden; color: rg ...

  9. ChatMoney智能占星师:不一样的AI工具

    本文由 ChatMoney团队出品 在科技的前沿领域,诞生了一位独特的存在--AI占星师.它并非传统意义上的占星师,而是融合了先进的人工智能技术与神秘的占星学知识. 这能够凭借其强大的数据分析能力和精 ...

  10. WEB DYNPRO程序找文本

    ABAP里代码扫描就是用的SOURCE SCAN. WEB DYNPRO里有个单独的 事务代码SE24进入,执行类CL_WDY_WB_NAMING_SERVICE的方法GET_CLASSNAME_FO ...