首页 > 其他分享 >unity里生成的.csproj和.sln :assembly definition

unity里生成的.csproj和.sln :assembly definition

时间:2025-01-16 20:11:48浏览次数:1  
标签:definition assembly csproj 代码 unity 文件夹 引用

有一段时间一直没明白为啥有的时候第三方的package里的代码没法引用我们项目的,最近有点心得,记录下:

在创建unity项目的时候默认是创建一个解决方案就是以.sln为结尾的。默认开发时都在同一个解决项目里,所以不会出现相互引用不到的问题。当我们引用到第三方的package时就会出现引用不到的问题,有些第三方的代码是以另一个解决方案.sln来加入到现有项目的,这样的话我们只要在相互引用上添加上就可以使用using命令了。另外一种是以下面的这种方式来加入到项目里的,assembly definition ,他说这样创建的,首先在unity里新建一个文件夹,然后在该文件夹里新建一个assembly definition,这样整个文件夹都会归属到这个程序集里,外边的代码可以访问到这个文件夹里的,但是这个文件夹里的代码如果不就行引用设置就访问不到外部。这样做有两个好处,第一做了代码层上的隔离,保证这个文件夹里的代码只会向外提供某个功能,而和哪个项目无关,这样就可以抽象出来做成框架,在新的项目里这部分代码就可以共用起来。第二个好处是编译上的加速,我们都知道当我们更改了c#文件保存后回到unity的时候,unity会重新进行编译处理主要进行语法,语义等的检查,如果我们使用这个assembly definition那么你改动其他的地方,不会重新执行这个文件夹里的代码编译,同样改了这个文件夹里的代码,不会引起其他文件夹里的代码重新编译。这样我们的编译速度就会加快。

 

当然我们也能设置其他的引用配置如下图所示的可以往里添加其他的程序集assembly definition。

 

每次创建一个assembly definition时如果我们在vs上看就会看见它以杂项项目来加载上来的:

 

https://blog.csdn.net/qq_17026475/article/details/126760298

https://blog.csdn.net/weixin_36760331/article/details/129367603

ET框架中程序集的使用方式

https://www.bilibili.com/video/BV1rhYyeKExP?spm_id_from=333.788.videopod.episodes&vd_source=ea39ce2be93b866a10862d7de9b08df9&p=3



标签:definition,assembly,csproj,代码,unity,文件夹,引用
From: https://www.cnblogs.com/gangtie/p/18675682

相关文章

  • 使用 AssemblyAI 实现高效的语音转文本处理
    在语音处理领域,AssemblyAI提供了一套强大的AI模型,用于处理语音到文本的转录、说话者分离、语音摘要等任务。本文将深入解析AssemblyAI的核心组件以及如何使用其提供的工具高效地实现语音转录功能。技术背景介绍AssemblyAI专注于构建语音AI模型,这些模型可以用于将......
  • 混淆-SmartAssembly
    SmartAssembly7documentation:https://documentation.red-gate.com/saSmartAssembly7文档:https://documentation.red-gate.com/saSmartAssembly7.2版本下载链接:https://www.red-gate.com/products/dotnet-development/smartassembly/PS:建议使用7以后的版本,因为SmartAssem......
  • 【WEB开发】WebAssembly技术详解
    WebAssembly(简称Wasm)是一种基于堆栈虚拟机的二进制指令格式,旨在作为一种高效、便携的编程语言编译目标。它被设计用来填补JavaScript在高性能需求场景下的性能空白,使代码能够在各种浏览器和环境中快速、安全地执行。以下是对WebAssembly技术的详细介绍。一、背景与起源WebAssemb......
  • 探索基于WebAssembly的下一代前端性能优化方案
    近年来,随着用户需求的不断增长,Web应用的性能和响应速度受到越来越高的要求。在前端领域,JavaScript一直是Web开发的核心语言。然而,JavaScript在高性能场景中可能会遇到瓶颈,比如图像处理、大规模计算和实时交互应用等。为了解决这些问题,WebAssembly(WASM)应运而生,它为前端开发提供......
  • 使用 `hash-wasm` 的 `createMD5`方法,生成md5值,批处理500张图片会报错, `RangeError: W
    处理大量文件时遇到RangeError:WebAssembly.instantiate():Outofmemory错误,通常是因为一次性创建了过多的WebAssembly实例,导致内存不足。每个createMD5()调用都会创建一个新的WebAssembly实例,这对于大量的并发操作来说是不可行的。为了优化代码并避免此问题,可以考虑......
  • WebAssembly基础
    随着JavaScript语言的诞生,浏览器从单纯的内容展示工具升级为应用运行平台,开启了全新的Web时代。然而,新的问题开始显露出来:JavaScript的运行速度太慢了。2008年,Google公司推出了Chrome浏览器,并在其内部搭载了全新设计的JavaScript引擎V8。通过使用JIT编译等优化技术,V8引擎的运行......
  • AssemblyScript 对比原生的TS和JS有何优势?
    AssemblyScript是一种TypeScript的严格子集,旨在编译为WebAssembly(Wasm),从而在浏览器和服务器环境中提供接近原生代码的执行速度。它与原生的TypeScript(TS)和JavaScript(JS)相比具有一些独特的优势,尤其是在性能和内存管理方面。以下是AssemblyScript的主要优势:1.......
  • 你知道什么是webAssembly吗?它的运用场景有哪些?
    WebAssembly(Wasm)是一种新的二进制指令格式,可以在现代Web浏览器中运行。它被设计为一种可移植、高效的编译目标,允许开发者使用除JavaScript之外的语言(例如C、C++、Rust和Go)编写高性能的Web应用程序。Wasm的主要优势在于它的速度和效率。由于Wasm代码接近机器码,浏览器......
  • CS 0447 Computer Organization and Assembly
    CS0447ComputerOrganizationandAssemblyLanguageMidtermProject–Connect4IntroductionInthisproject,youwillimplementa2playergameinMIPSassembly:Connect4akaFour-in-line.Thegameconsistsaboardrepresentingtheplayarea.Twoplaye......
  • RTSP播放器EasyPlayer.js出现aborted(rangeError:webassembly.instance():out of memo
    随着技术的发展,越来越多的H5流媒体播放器开始支持H.265编码格式。例如,EasyPlayer.jsH5播放器能够支持H.264、H.265等多种音视频编码格式,这使得播放器能够适应不同的视频内容和网络环境。那么为什么播放器会出现aborted(rangeError:webassembly.instance():outofmemory)错误呢......