解决替换了新版surging之后发现surgingDemo运行不起来

C#

浏览数:131

2019-8-30

AD:资源代下载服务

首先附上surging和surgingDemo下载的链接
surging
surgingDemo

问题:从github上下载了最新的surging和surgingDemo按照surgingDemo里面的配置方法发现程序运行不起来了
原因:新版的surging配置方式和模块的加载方式发生了一些改变,用老的配置方法运行不起来

具体操作

第一步 下载和解压

从上面两个地址把最新的代码下载下来然后解压,注意两个文件要放在一个目录下面,就像这样


文件解压后的位置

为什么要这么放呢,我们找到surgingDemo对应的sln文件打开会发现他引用的surging文件地址是这样写的
引用文件地址

第二步 安装core2.1环境和还原nuget包

直接用vs2017打开surgingDemo,这里要注意要以管理员身份打开vs2017然后打开surgingDemo下的sln文件,不用管理员身份打开运行的时候会提示什么iisexpress启动不了。打开后首先在解决方案上面右击还原nuget包,然后会发现报一堆的错误,具体的错误是应该老版本用的是core 2.0,新的程序用的是core 2.1,这里呢首先你要去微软官网装一下core2.1的sdk,记住一定要装32位的,装了64位的重启vs2017之后还是找不到core2.1的选项
错误信息

环境安装好了以后把每个项目的环境改成core2.1,有一个是.net framework的改不了,咱就不改了。
更改环境

环境改成core2.1之后 发现 autofac又出问题了。提示什么降级了,那就找到报错的项目使用nuget管理把autofac卸载了重新安装最新的或者直接更新,但我有一个更新报错卸载重新装就好了

第三步 配置启动项和配置文件

首先在下载的surging源码项目里面根据我下图目录找到对应的配置文件surgingSetting.json文件,把它拷贝到demo项目中对应的bill.demo.services.server项目下


源代码项目


Demo项目

拷贝过来之后右击json文件把复制到输出目录设置成如何较新则复制,接下来就是配置program.cs,也是一样的,打开源代码项目找到对应的program.cs把main函数里在内容全部复制替换到demo里面的main函数下面,如下图所示,然后会提示你少个文件SurgingServiceEngine,把他复制过来就好


替换过后的代码

第四步 重新生成并且运行

在解决方案上面选择全部重新生成,看看有没有报错(反正我是没有报错了,一步到胃)。接下来就是配置启动项,我们这里右击解决方案-》属性然后按我图中的顺序设置启动项
配置启动项

运行前把Demo里面的sql脚本执行下,先新建Test数据库然后再执行脚本,因为他程序里面的数据库链接串配置的是Test数据库,名字不要建立错了。。然后运行Consul,本地调试 命令 consul.exe agent -dev… 然后返回vs2017里面,点击 启动,这个期间只要做一件事那就是祈祷不要报错。。。。当程序运行起来就是这样的
运行截图

这么多窗口分别是 surging网关界面(可以查看当前运行了哪些服务我们这里只有一个),第二个窗口是

客户端界面就是我们Demo里面的web项目,在这里可以进行新增用户和测试的一些操作,第三个窗口是我们的服务窗口就是De’mo里面的Services.server项目这是最重要的,没有他哪里都调用不了。第四个窗口就是我们的Consul窗口,surging就是用他来做服务注册和发现的。

到底就结束啦 ,我也是个surging新手,有问题希望大家可以多多交流,多写写文章。

微信关注我哦!(转载注明出处) 关注我哦 个人博客地址:点击跳转

作者:邵佳楠