Unity/C# 项目中令人头疼的配置问题「终于解决」

Unity/C# 项目中令人头疼的配置问题「终于解决」第一个坑:C#程序就是连不上MySQL,可能是C#程序的模板/框架选错了。 新建一个项目,选择.NET FrameWork模板,切记不要选.NET .Core,就OK了。 第二个坑:mysql通过localhost无法链接数据库问题,很有可能是忘记启动MySql服务了。

本人实在不擅长安装环境、配置方面的东西,特写此博客,记录本人对各种配置问题的详细解决方案,并记录亲自踩过的坑,以下都是血与泪的分享:

C#项目与云服务器

目标:将Visual Studio软件(C#语言)写的服务端程序移植到云服务器上运行

拥有一台云服务器,并实现远程连接

用阿里云做演示,其他云服务商的操作基本相同

  1. 首先,需要买一台云服务器,购买步骤省略
  2. 了解“云服务器”、“实例”、“磁盘”、“镜像”、“快照”、“安全组”这些概念(强烈推荐阿里云的《七天玩转云服务器》的课程,链接
  3. 进入实例列表界面,如果为空,则从概述>我的资源>云服务器处进入
    Unity/C# 项目中令人头疼的配置问题「终于解决」
  4. 第一次需要重置实例密码,记住密码,之后要用
    Unity/C# 项目中令人头疼的配置问题「终于解决」
  5. 打开电脑的远程桌面连接,Win10之间在搜索框搜索就能找到,在计算机处填上外网IP
    Unity/C# 项目中令人头疼的配置问题「终于解决」
  6. 再点击显示选项,用户名默认为administrator,密码输入第四步的实例密码
  7. 点击连接按钮,有密码就继续输
  8. 第一次进比较慢,稍等片刻
    Unity/C# 项目中令人头疼的配置问题「终于解决」
  9. 至此,即实现了远程连接,云服务器和普通电脑操作一样

C#项目移植到云服务器上运行

  1. 首先需要用C#写一个程序
  2. 再将Debug切换为Release,再点击生成>重新生成解决方案
    Unity/C# 项目中令人头疼的配置问题「终于解决」
  3. 控制台会显示路径,一般都在项目的bin目录下
    Unity/C# 项目中令人头疼的配置问题「终于解决」
  4. 然后将Release文件夹直接复制到云服务器的桌面
  5. 在云服务器上运行Release文件下的exe文件,即可
  6. 第一个坑:如果exe文件无法运行,直接闪退,那就是C#模板/框架的问题
    • 打开云服务器的“服务器管理器”,点击电源键即可看到
    • 点击第二个序号“添加角色和功能”
    • 一直点下一步,直到到了“功能”界面,选中.NET FrameWork3.5 功能,确认安装
    • 创建一个新的C#项目,模板要选择.NET FrameWork,千万不要选.NET .Core
    • 版本尽量选择.NET FrameWork3.5,然后把原来的代码复制到新项目中
    • 重新生成解决方案并移植到云服务器上即可运行了
  7. 第二个坑:如果客户端和服务端无法连接,就是你的安全组没有配置好端口
    • 打开阿里云,进入实例,点击管理
    • 左侧菜单选择本实例安全组
    • 切换Tab到“内网入方向全部规则”,这里有配置好的端口号
    • 如果没有你在程序用到的端口号,那切换回Tab到“安全组列表”
    • 点击配置规则,在入方向上点击“添加安全组规则”
    • 端口范围设置为你使用的端口号,如10086/10086
    • 授权对象填0.0.0.0/0,表示所有IP都可访问,点击确定即可
    • 至此,客户端和服务端就可以连接了
  8. 第三个坑:如果客户端和服务端还不能连接,就是服务端程序的IP地址还是127.0.0.1
    • 没有云服务器的时候,本地开发,客户端和服务端Socket连接的IP地址都是127.0.0.1
    • 应用云服务器上,服务端程序IP地址改为IPAddress.Any,客户端程序IP地址改为云服务器的外网IP

C#与MySQL

目标:完成软件的安装与配置,实现C#项目与MySQL的连接

前期相关软件的安装

  1. 安装MySQL

    需要记住用户名与密码,后续连接数据库时要用到,用户名常为root,密码常为1234

  2. 安装connector

    下载网址

    安装之后需要记住安装位置,尤其是文件“MySql.Data.dll”的位置,一般为C:\Program Files (x86)\MySQL\MySQL Connector Net 8.0.19\Assemblies\v4.5.2

    版本无所谓,下载页面如下:

    Unity/C# 项目中令人头疼的配置问题「终于解决」

  3. 引用“MySql.Data.dll”

    针对VS而言,菜单栏>>项目>>添加引用>>浏览文件(第2步的那个地址)>>切记:选中文件前面的方框>>点击确定

  4. 安装Navicat for MySQL

备注:第一步和第四步可以在《软件安装管家》上直接一步安装

参考资料:

代码上C#与MySQL的连接

这个不做细致讲解,一些博客和书本上都讲得很清楚

第一个坑:C#程序就是连不上MySQL,可能是C#程序的模板/框架选错了。

新建一个项目,选择.NET FrameWork模板,切记不要选.NET .Core,就OK了。

第二个坑:mysql通过localhost无法链接数据库问题,很有可能是忘记启动MySql服务了。

我的电脑>管理>服务,找到MySQL右键启动

Unity项目发布为安卓应用

目标:完成必须的配置,实现项目发布为apk文件

安装Android Build Support

  1. 打开Unity Hub, 点击添加模块
    Unity/C# 项目中令人头疼的配置问题「终于解决」
  2. 选择Android Build Support,点击完成,点击安装

安装并配置JDK

  1. 上官网:链接,选择合适的JDK版本下载,安装过程很简单,一直点下一步即可,要记得安装位置就是了
  2. 对JDK进行相关配置
    • 进入 计算机→属性→高级系统设置→高级→环境变量
    • 系统变量 新建 变量名JAVA_HOME 变量值C:\Program Files\Java\jdk1.8.0_131(自己的安装位置)
    • 系统变量 选中Path 编辑>新建 %JAVA_HOME%\bin;jre\bin
    • 系统变量 新建 变量名CLASSPATH 变量值.%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
    • 切记切记 要点确定 确定 确定!!!
    • 验证是否成功:cmd输入java -version,显示你安装的版本号即成功

下载SDK

看网上的一些博客,这一步竟然包含安装Android Studio的步骤,简直坑人啊

对只使用Unity的开发者而言,我只是想将项目发布为APK格式,整上述那步简直浪费时间

很简单,下载一个android-sdk-windows,然后就完事了,连安装都不要,同样要记住路径

Unity设置JDK与SDK

  1. 进入Unity>Edit>Preferences, 选择External Tools(拓展工具)
    Unity/C# 项目中令人头疼的配置问题「终于解决」
  2. 选择SDK和JDK的路径,点Browse(Unity2017需要这样,Unity2018貌似就不用这么麻烦了)
  3. 第一个坑: 选中安装路径后却报错,继续让你选择文件夹,这是你安装的JDK和SDK版本不对,Unity不支持
    • JDK的版本切记不要太新,对Unity2017而言,选择1.8.0的版本最佳,Unity2018选择1.8.0也不会报错,我就因为选了最新的JDK坑了许久
    • SDK一开始我从别人的博客上下载的,Unity也无法选中,最后好不容易找到一个能用的

Unity发布APK

Unity/C# 项目中令人头疼的配置问题「终于解决」

Player Settings要设置一下 package name,最简单就改为xxx.xxx.xxx

然后点击Build即可

第二个坑:打包出错CommandInvokationFailure: Gradle build failed.,将Build System中的Gradle切换为Internal就可以了,但是好像有人说这样就不能有签名了,我也不懂,反正能发布为APK就很开心了

Navicat远程连接云服务器的数据库

云服务器上安装mysql

  1. 下载并运行mysql-installer-community-8.0.17.0.msi
  2. 选择自定义安装custom
  3. 选择两个东东,mysql server和connect for .net,移到右侧,并点击安装
  4. 记住 接下来都要 先点击安装再点击下一步,期间会安装Visual c++2015
  5. 反正就是最后这两个东西都要安装上
    Unity/C# 项目中令人头疼的配置问题「终于解决」
  6. 倒数第二步会进入配置步骤
  7. 配置类型config type要选择 server computer
  8. 还需要设置数据库密码,其他的话选默认就好了
  9. 最后,点击window,出现mysql就ok了

本地Navicat连接远程数据库

  1. 先登录阿里云,安全组中将3306端口号开放
  2. 在MySQL用户表添加用户并将host设置未所有IP都能访问
    • 远程桌面,打开mysql(mysql 8.0 command line client),输入密码
    • 给root用户设置为所有ip都可访问:update user set host='%' where user='root' and host='localhost';
    • 刷新权限:flush privileges;
    • 查看用户权限:select host,user from user;
    • 退出MySQL:exit;
    • 重启:restart
  3. 打开本地Navicat
  4. 新建连接,主机填服务器ip,端口3306,输入数据库的密码,点击连接即可

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/13772.html

(0)

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注