[unity3d]链接mysql的Project build出错

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:
+关注继续查看

在开发unity3d过程中会用到.net的一些类库,但是当你运行的时候发现时没有问题的,但一旦发布问题就出现了,然后摸索尝试解决了问题。

一.问题出现

我们在当前的一个U3D项目中使用了StriveEngine作为通信组件与服务端进行通信,在U3D环境中,编译运行一切正常,但在打包发布(Build)为PC版本可执行文件时,却出现错误:“ArgumentException: The Assembly System.Management is referenced by StriveEngine. But the dll is not allowed to be included or could not be found.”

最初,我以为是签名或者是加密混淆的问题,于是我使用原始编译生成的StriveEngine.dll,问题一样存在。

接着,我再猜测可能是StriveEngine.dll编译时选择平台的问题,于是把目标平台由anycpu更改为x86,重新生成StriveEngine.dll,并且在u3d打包发布也选择x86,如下图所示:

    

但是,问题依然存在。

二.解决方案

经过一番折腾,终于发现需要设置一下U3D所使用的.NET版本 -- 点击Player Settings按钮,找到Api Compatibility Level选项,选择".Net 2.0",而非".Net 2.0 Subset",如下图所示:

    

这个选项的意思是说,要使用.NET 2.0的完整版本,而非其子集。经过此设置,终于可以打包发布成功。

究其原因,看来是因为StriveEngine所使用的是完整版本.NET 2.0。

三.又现困境

由于我们的游戏会打算发布一个轻量级的Web版本,于是,我们尝试将其打包发布为Web版,god,同样的问题又出现了,而且,在发布Web版本的情况下,Api Compatibility Level是不可选择的。

    

猜测发布Web版本只能使用.Net 2.0 Subset。

四.如何走出困境?

如果发布Web版本就只能使用.Net 2.0 Subset这个猜想是正确的,那么,我想基于.Net 2.0 Subset开发一个StriveEngine.U3D.dll,使其可以被打包发布到各种不通类型的平台。可是,.Net 2.0 Subset 具体指的是哪个子集了?是.NET Compact Framework?还是SilverLight提供的.NET Framework?抑或是其它?望知道的童鞋能留言告诉一下。













本文转蓬莱仙羽51CTO博客,原文链接:http://blog.51cto.com/dingxiaowei/1366371,如需转载请自行联系原作者

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1月前
|
关系型数据库 MySQL Linux
MySQL数据库----------安装anaconda---------python与数据库的链接
MySQL数据库----------安装anaconda---------python与数据库的链接
|
2月前
|
关系型数据库 MySQL
`navicat`外网链接`mysql`报`...error 10061`
`navicat`外网链接`mysql`报`...error 10061`
`navicat`外网链接`mysql`报`...error 10061`
|
3月前
|
Oracle NoSQL 关系型数据库
SpringBoot-13-使用JdbcTemplate链接Mysql数据库
在企业项目开发者,数据库的使用是必不可少的一部分,常用的数据库有mysql、oracle、sqlserver、redis等,我们接下来的几章会介绍SpringBoot中如何使用数据库,本章就介绍使用JdbcTemplate链接mysql。
52 0
|
3月前
|
关系型数据库 MySQL Linux
windows系统中docker部署mysql后,使用navicate链接
windows系统中docker部署mysql后,使用navicate链接
91 0
|
6月前
|
关系型数据库 MySQL
【MySQL】表的内外链接
查询的时候有较大概率会涉及到多张表,这时我们往往需要把多张表“合并”称为一张表。 具体“合并”的方法包括以下三种:
|
9月前
|
关系型数据库 MySQL
eggjs 里链接 mysql 返回数据有 RowDataPacket 应该怎么处理?
eggjs 里链接 mysql 返回数据有 RowDataPacket 应该怎么处理?
67 0
eggjs 里链接 mysql 返回数据有 RowDataPacket 应该怎么处理?
|
9月前
|
SQL 关系型数据库 MySQL
MYSQL之复杂查询_表链接
day2复杂查询_表链接
77 0
MYSQL之复杂查询_表链接
|
11月前
|
Ubuntu 前端开发 JavaScript
ubuntu azkaban4.0.0链接mysql(5.1/8.0)数据库配置
ubuntu azkaban4.0.0链接mysql(5.1/8.0)数据库配置
|
SQL 关系型数据库 MySQL
Python3链接Mysql数据库
Python3链接Mysql数据库
79 0
|
关系型数据库 MySQL Python
Python编程:利用上下文管理器管理MySQL的链接对象
Python编程:利用上下文管理器管理MySQL的链接对象
推荐文章
更多