大家好,我是考100分的小小码 ,祝大家学习进步,加薪顺利呀。今天说一说Unity/C# 项目中令人头疼的配置问题「终于解决」,希望您对编程的造诣更进一步.
本人实在不擅长安装环境、配置方面的东西,特写此博客,记录本人对各种配置问题的详细解决方案,并记录亲自踩过的坑,以下都是血与泪的分享:
C#项目与云服务器
目标:将Visual Studio软件(C#语言)写的服务端程序移植到云服务器上运行
拥有一台云服务器,并实现远程连接
用阿里云做演示,其他云服务商的操作基本相同
- 首先,需要买一台云服务器,购买步骤省略
- 了解“云服务器”、“实例”、“磁盘”、“镜像”、“快照”、“安全组”这些概念(强烈推荐阿里云的《七天玩转云服务器》的课程,链接)
- 进入实例列表界面,如果为空,则从概述>我的资源>云服务器处进入
- 第一次需要重置实例密码,记住密码,之后要用
- 打开电脑的远程桌面连接,Win10之间在搜索框搜索就能找到,在计算机处填上外网IP
- 再点击显示选项,用户名默认为administrator,密码输入第四步的实例密码
- 点击连接按钮,有密码就继续输
- 第一次进比较慢,稍等片刻
- 至此,即实现了远程连接,云服务器和普通电脑操作一样
C#项目移植到云服务器上运行
- 首先需要用C#写一个程序
- 再将Debug切换为Release,再点击生成>重新生成解决方案
- 控制台会显示路径,一般都在项目的bin目录下
- 然后将Release文件夹直接复制到云服务器的桌面
- 在云服务器上运行Release文件下的exe文件,即可
- 第一个坑:如果exe文件无法运行,直接闪退,那就是C#模板/框架的问题
- 打开云服务器的“服务器管理器”,点击电源键即可看到
- 点击第二个序号“添加角色和功能”
- 一直点下一步,直到到了“功能”界面,选中.NET FrameWork3.5 功能,确认安装
- 创建一个新的C#项目,模板要选择.NET FrameWork,千万不要选.NET .Core
- 版本尽量选择.NET FrameWork3.5,然后把原来的代码复制到新项目中
- 重新生成解决方案并移植到云服务器上即可运行了
- 第二个坑:如果客户端和服务端无法连接,就是你的安全组没有配置好端口
- 打开阿里云,进入实例,点击管理
- 左侧菜单选择本实例安全组
- 切换Tab到“内网入方向全部规则”,这里有配置好的端口号
- 如果没有你在程序用到的端口号,那切换回Tab到“安全组列表”
- 点击配置规则,在入方向上点击“添加安全组规则”
- 端口范围设置为你使用的端口号,如10086/10086
- 授权对象填0.0.0.0/0,表示所有IP都可访问,点击确定即可
- 至此,客户端和服务端就可以连接了
- 第三个坑:如果客户端和服务端还不能连接,就是服务端程序的IP地址还是127.0.0.1
- 没有云服务器的时候,本地开发,客户端和服务端Socket连接的IP地址都是127.0.0.1
- 应用云服务器上,服务端程序IP地址改为
IPAddress.Any
,客户端程序IP地址改为云服务器的外网IP
C#与MySQL
目标:完成软件的安装与配置,实现C#项目与MySQL的连接
前期相关软件的安装
-
安装MySQL
需要记住用户名与密码,后续连接数据库时要用到,用户名常为root,密码常为1234
-
安装connector
安装之后需要记住安装位置,尤其是文件“MySql.Data.dll”的位置,一般为C:\Program Files (x86)\MySQL\MySQL Connector Net 8.0.19\Assemblies\v4.5.2
版本无所谓,下载页面如下:
-
引用“MySql.Data.dll”
针对VS而言,菜单栏>>项目>>添加引用>>浏览文件(第2步的那个地址)>>
切记:选中文件前面的方框
>>点击确定 -
安装Navicat for MySQL
备注:第一步和第四步可以在《软件安装管家》上直接一步安装
参考资料:
代码上C#与MySQL的连接
这个不做细致讲解,一些博客和书本上都讲得很清楚
第一个坑:C#程序就是连不上MySQL,可能是C#程序的模板/框架选错了。
新建一个项目,选择.NET FrameWork模板,切记不要选.NET .Core,就OK了。
第二个坑:mysql通过localhost无法链接数据库问题,很有可能是忘记启动MySql服务了。
我的电脑>管理>服务,找到MySQL右键启动
Unity项目发布为安卓应用
目标:完成必须的配置,实现项目发布为apk文件
安装Android Build Support
- 打开Unity Hub, 点击添加模块
- 选择Android Build Support,点击完成,点击安装
安装并配置JDK
- 上官网:链接,选择合适的JDK版本下载,安装过程很简单,一直点下一步即可,要记得安装位置就是了
- 对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
- 进入Unity>Edit>Preferences, 选择External Tools(拓展工具)
- 选择SDK和JDK的路径,点Browse(Unity2017需要这样,Unity2018貌似就不用这么麻烦了)
- 第一个坑: 选中安装路径后却报错,继续让你选择文件夹,这是你安装的JDK和SDK版本不对,Unity不支持
- JDK的版本切记不要太新,对Unity2017而言,选择1.8.0的版本最佳,Unity2018选择1.8.0也不会报错,我就因为选了最新的JDK坑了许久
- SDK一开始我从别人的博客上下载的,Unity也无法选中,最后好不容易找到一个能用的
Unity发布APK
Player Settings要设置一下 package name,最简单就改为xxx.xxx.xxx
然后点击Build即可
第二个坑:打包出错CommandInvokationFailure: Gradle build failed.
,将Build System中的Gradle切换为Internal就可以了,但是好像有人说这样就不能有签名了,我也不懂,反正能发布为APK就很开心了
Navicat远程连接云服务器的数据库
云服务器上安装mysql
- 下载并运行mysql-installer-community-8.0.17.0.msi
- 选择自定义安装custom
- 选择两个东东,mysql server和connect for .net,移到右侧,并点击安装
- 记住 接下来都要 先点击安装再点击下一步,期间会安装Visual c++2015
- 反正就是最后这两个东西都要安装上
- 倒数第二步会进入配置步骤
- 配置类型config type要选择 server computer
- 还需要设置数据库密码,其他的话选默认就好了
- 最后,点击window,出现mysql就ok了
本地Navicat连接远程数据库
- 先登录阿里云,安全组中将3306端口号开放
- 在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
- 打开本地Navicat
- 新建连接,主机填服务器ip,端口3306,输入数据库的密码,点击连接即可
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/13772.html