NuGetForUnity用不了时的一个折衷方案

news/发布时间2024/8/25 4:38:50

如果NuGetForUnity网络访问不了或者下载速度非常慢,导致无法正常使用,那可以试试下面的方法。

 

1) 先用vs的NuGet包管理器下载,vs下貌似没遇到网络问题,下载很快

 

注意,vs不是下载在Unity的Assets文件夹下的,而是和他同层级,所以此时Unity并不会加载所下载的dll文件的

 

2) 然后我们copy对应版本的dll文件到Unity的Assets文件夹下

菜单 -> File -> Build Settings -> Player Settings下查看用哪个版本

这边我们copy netstandard2.0版本的dll,因为Editor和逻辑代码都会用到,所以放在Assets/Packages下。如果只有Editor会用到,那可以放在Assets/Editor/Packages

 

3) 一个同步脚本,Assets下存在的dll文件如何和vs下载的dll文件的最后修改时间不一致,就会从vs下载的那边copy过来替换掉。

#if UNITY_EDITORusing System.IO;
using UnityEditor;
using UnityEngine;public class NuPkg
{const string MenuItemPath_SyncExistDlls = "NuGet/Sync Dlls";[MenuItem(MenuItemPath_SyncExistDlls)]private static void MenuItem_SyncExistDlls(){SyncDlls("Assets/Packages/");SyncDlls("Assets/Editor/Packages/");Debug.Log("finish !!!");   }private static void SyncDlls(string dirPath){var dirFullPath = Path.GetFullPath(dirPath);if (!Directory.Exists(dirPath)) return;Debug.Log($"{dirFullPath}");var libNameFolders = Directory.GetDirectories(dirPath);foreach (var libNameFolder in libNameFolders){//Debug.Log($"{libNameFolder}");var dllFilePaths = Directory.GetFiles(libNameFolder, "*.dll", SearchOption.AllDirectories);foreach (var filePath in dllFilePaths){var index = filePath.IndexOf("/Packages/");if (index < 0){Debug.Log($"invalid path: {filePath}");continue;}var dllFilePathVsNuGet = filePath.Substring(index + 1);if (File.Exists(dllFilePathVsNuGet)){if (File.GetLastWriteTime(filePath) == File.GetLastWriteTime(dllFilePathVsNuGet)){Debug.Log($"no change: {dllFilePathVsNuGet}");}else{File.Delete(filePath);File.Copy(dllFilePathVsNuGet, filePath);Debug.Log($"updated: {dllFilePathVsNuGet}");}}}}}}#endif

 

参考 

在 Unity 中使用 .NET 4 和更高版本 | Microsoft Learn

Unity .NET 4.x 相关知识-CSDN博客

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.liansuoyi.cn/news/38373402.html

如若内容造成侵权/违法违规/事实不符,请联系连锁易网进行投诉反馈email:xxxxxxxx@qq.com,一经查实,立即删除!

相关文章

Vmware虚拟机突然连不上网络(WiFi)解决办法

虚拟机Vmware突然连不了网络的解决思路虚拟机常用的三种网络连接方式 1、桥接:就是把虚拟机通过VMnet0桥接到主机的本地连接。 在桥接模式下,使用 VMware 创建的虚拟机就像是你买了一台新主机接到了局域网的交换机或者路由器上。它可以配置IP地址、子网掩码和其它的 TCP/IP 信…

ACL原理与配置

简介 ACL可以通过对网络中报文流的精确识别,与其他技术结合,达到控制网络访问行为、防止网络攻击和提高网络带宽利用率的目的,从而切实保障网络环境的安全性和网络服务质量的可靠性。 ACL概述ACL的组成ACL的组成: ACL编号:在网络设备上配置ACL时,每个ACL都需要分配一个编…

绘图

chartist.js参考 代码如下<!DOCTYPE html> <html><head><link rel="stylesheet" href="https://cdn.jsdelivr.net/chartist.js/latest/chartist.min.css"><script src="https://cdn.jsdelivr.net/chartist.js/latest/char…

【调试】pstore原理和使用方法总结

什么是pstore pstore最初是用于系统发生oops或panic时,自动保存内核log buffer中的日志。不过在当前内核版本中,其已经支持了更多的功能,如保存console日志、ftrace消息和用户空间日志。同时,它还支持将这些消息保存在不同的存储设备中,如内存、块设备或mtd设备。 为了提高…

车载测试资料大放送

需要资料,联系微信uhz2008

LVM(逻辑卷管理器)

目录一、LVM概述二、基本术语三、PE、PV、VG、LV之间的关系四、LVM的工作原理五、LVM的使用1、部署逻辑卷第一步:还原快照,并在虚拟机添加两块新硬盘设备,开机第二步:让新添加的两块硬盘设备支持LVM技术第三步:把两块硬盘设备加入到storage卷组中,查看卷组状态第四步:切…

底和项

底和项 讨论底(floor,最大整数)函数和项(ceiling,最小整数)函数,对于所有实数 \(x\),其定义如下: \(\lfloor x \rfloor=\) 小于或等于 x 的最大整数; \(\lceil x \rceil=\) 大于或等于 x 的最小整数。 接下来我们来了解底函数和项函数的图形,其在直线 \(f(x)=x\) 的…

panas 行转列

print(df2)test_data = pd.pivot(data=df2 # 待转换df, index=[main_customer_code1,product_code1]# df交叉后行, columns=data_date1 # df交叉后的列, values=today_amount1 # df交叉后数据(不发生聚合)) test_data.reset_index(inplace=True)print(test_data)

基于Java+Neo4j开发的知识图谱+全文检索的知识库管理系统(源码分析)

在数字化高度普及的时代,企事业机关单位在日常工作中会产生大量的文档,例如医院制度汇编,企业知识共享库等。针对这些文档性的东西,手工纸质化去管理是非常消耗工作量的,并且纸质化查阅难,易损耗,所以电子化管理显得尤为重要。 【springboot+elasticsearch+neo4j+vue+ac…

打印三角形 (5行)

需求 打印三角形 (5行) 代码实现 package com.jichu.struct;public class TestDemo {public static void main(String[] args) {//打印三角形 5行for(int i = 1;i <= 5; i++) {//i行for (int j = 5; j >= i; j--) {//j 一行几个 左边第一个三角形System.out.print(&qu…

如何关闭提示是否允许来自未知发布者的此应用对你的设备进行更改

1.方法 1.1 打开控制面板1.2 进入安全和维护1.3 选择用户账户控制,并将安全等级降到最低即可2.参考文献: 关闭win10安全警告

SpringBoot集成Flink-CDC 采集PostgreSQL变更数据发布到Kafka

使用flink-cdc组件,同步不同数据“库”之间数据。目前支持从pg、mysql到kafka、pulsar、es(之前写了一个flink-cdc同步数据的博客,发布在某N,最近代码开源了,直接复制过来了,懒得重新写了,将就着看下吧) 最近做的一个项目,使用的是pg数据库,公司没有成熟的DCD组件,为了…

「云原生可观测团队」获选「InfoQ 年度技术内容贡献奖」

随着云原生、人工智能逐渐成为各行各业的创新生产力工具。可以预见,我们即将进入全新的智能化时代。随着数据成为新型生产要素,云和 AI 正走向深度融合。云原生通过提供大规模多元算力的高效供给,可观测成为业务创新的核心基础设施,加速智能化创新。这一过程离不开开发者、…

没闲着系列 17

在v1版本跨越迭代到v2版本时,遇上了一些阻碍,阻碍来自没有完整的设计理念,很难达到理想的迭代效果. 首先来自于页面展示效果,和页面展示出的功能&亮点.v2版本的首页,因为v1版本首页也没怎么设计,所以这块一时间只能想到把项目近期issues排过来,然后把聊天提醒信息排过来,其…

【linux】如何查看CPU核数

1. 使用cat /proc/cpuinfo命令 在Linux系统中,可以通过查看/proc/cpuinfo文件来获取CPU的详细信息,包括核数、型号、频率等。首先,打开终端,输入以下命令: cat /proc/cpuinfo然后,按下回车键,终端将显示类似如下的信息: processor : 0 vendor_id : GenuineIntel cp…

读千脑智能笔记05_千脑智能理论

千脑智能理论1. 现有的新皮质理论 1.1. 最普遍的看法是新皮质就像一个流程图 1.2. 特征层次理论 1.2.1. 该理论最大的弊端在于认为视觉是个静止的过程,就像拍一张照片一样,但事实并非如此 1.2.1.1. 眼睛每秒会快速转动约三次(扫…

车辆动力学分析图例

车辆动力学分析图例 https://www.shac.com.cn/#/production/0K&C分析载荷分析产品设计 设计空间设计空间载荷路径分析拓扑优化刚度/应力/疲劳分析实验设计与多学科优化实验设计与多学科优化 过程模拟 管件成型管件成型 断裂分析铸造缺陷分析注:本方案焊缝1分段焊缝分析 焊…

手写docker—文件系统隔离(四)

容器文件系统隔离 前面实现了 container 容器创建及容器内部的资源管理和限制,但是容器内部的文件系统仍然和宿主机文件系统有关联,对容器内部文件系统的修改会影响到宿主机文件系统,因此需要单独隔离容器内部文件系统。 ufs介绍 Union File System:UFS 是一个将其它文件系…
推荐文章