目录

更新日志

更新时间 更新日志 更新人员
2019/08/09 完成v1.0版本文档 CraigTaylor

开发环境

开发工具

组件名 描述 可选版本 推荐版本
Visual Studio Community 社区免费版 For Visual Studio 2017 For Visual Studio 2019
Visual Studio Professional 专家收费版 For Visual Studio 2017 For Visual Studio 2019
Visual Studio Enterprise 企业收费版 For Visual Studio 2017 For Visual Studio 2019
Visual Studio Preview 预览免费版 For Visual Studio Community For Visual Studio Enterprise
Visual Studio Code 推荐编辑器 For Visual Studio Code Insider For Visual Studio Code Stable
Visual Studio Installer Projects 打包扩展插件 For Visual Studio 2017 For Visual Studio 2019
.NET Core Runtime 运行时依赖 For .NET Core 3.0 For .NET Core 2.2
.NET Core SDK 集成包依赖 For .NET Core 3.0 For .NET Core 2.2
Runtime & Hosting Bundle 可选(IIS用) For .NET Core 3.0 For .NET Core 2.2

代码管理

项目代码

项目名称 项目简介 代码位置
Demo.Client 标准版项目 Github For Demo.Client

分支管理

分支名称 分支简介 备注
Develop 起到了Master分支的作用,作为最终上线代码 发起并入需要审核
CustomBranch 私人分支,基于最新代码新建,修改后合并进入Develop

名称管理

分支名称建议采用"用户名-版本标记-发布模式-创建年月日"格式

例如:

  • Taylor-CN-Develop-20190701
  • Taylor-US-Develop-20190901

Tag名称建议采用"版本标记-发布模式-创建年月日-版本号"格式

例如:

  • CN-Release-20191001-v1.0.0.0
  • US-Release-20191001-v1.0.0.0

打包管理

存储路径

项目名 测试版 正式版
标准版 \共享存储\Demo\Demo.Client\测试版 \共享存储\Demo\Demo.Client\正式版

存储结构

测试包

文件名 文件描述 文件举例
发布模式-版本号-版本名称.zip 解压即用的程序集(必须) Test-v1.0.0.0-标准版.zip
发布模式-版本号-版本名称-更新日志.docx 指定版本的更新日志(建议) Test-v1.0.0.0-标准版-更新日志.docx

正式包

文件名 文件描述 文件举例
Demo-版本号.msi 全新安装的安装包 Demo1.0.0.0.msi
发布模式-版本号.zip 升级更新的升级包 Release-v1.0.0.0.zip

名称管理

压缩包名建议采用"发布模式-版本号-版本名称.zip"格式

例如:

  • Develop-v1.0.0.0-标准版.zip
  • Test-v1.0.0.0-标准版.zip
  • Preview-v1.0.0.0-标准版.zip
  • Release-v1.0.0.0-标准版.zip

更新日志建议采用"发布模式-版本号-版本名称-更新日志.docx"格式

例如:

  • Develop-v1.0.0.0-标准版-更新日志.docx
  • Test-v1.0.0.0-标准版-更新日志.docx
  • Preview-v1.0.0.0-标准版-更新日志.docx
  • Release-v1.0.0.0-标准版-更新日志.docx

依赖组件

内部组件

组件名 描述 推荐版本
Demo.Core 内部代码框架 1.0.0.0

外部组件

组件名 描述 推荐版本
Autofac 自动注册框架 4.8.1
AutoMapper 自动映射框架 8.0.0
MvvmLight MVVM绑定框架 5.4.1.1
MvvmLightLibs MVVM绑定框架 5.4.1.1
Newtonsoft.Json JSON解析框架 12.0.1
Google.Protobuf Google二进制协议 3.7.0
log4net 本地日志记录 2.0.8
WPFLocalizeExtension 多语言扩展 3.3.1

解决方案结构

解决方案命名

标准版项目
Demo.Client

解决方案文件夹

描述 标准版
基础层 0.Demo.Client.Infrastructure
领域层 1.Demo.Client.Domain
应用层 2.Demo.Client.Application
测试集 DemoTestProject
主要程序 Demo
升级程序 DemoAutoUpdater
打包项目 Setup1

项目文件夹

0.Demo.Client.Infrastructure

项目名称 项目描述
Demo.Client.DataBaseAccess 操作本地数据库
Demo.Client.DataContract 接口涉及的数据模型
Demo.Client.Domain.Query 领域查询
Demo.Client.Infrastructure.IQuery 基础框架之接口定义
Demo.Client.Infrastructure.Utility 基础框架之全局帮助类

1.Demo.Client.Domain

项目名称 项目描述
Demo.Client.DomainModel 领域模型

2.Demo.Client.Application

项目名称 项目描述
Demo.Client.Application.Imp 接口实现层 - 应用服务(包括第三方)
Demo.Client.IApplication 接口定义层 - 应用服务
Demo.Client.IRemotingService 接口定义层 - 第三方

DemoTestProject

项目名称 项目描述
Infrastructure.ConsoleTest N/A

命名规范

文件目录

目录 描述
\Demo\Views\ 存放界面
\Demo\Views\UserControls\ 存放自定义控件
\Demo\ViewModels\ 存放绑定
\Demo\TemplateSettings\ 存放打印模板
\Demo\Styles\ 存放样式文件
\Demo\Models\ 存放主程序用的模型
\Demo\Languages\ 存放多语言字典
\Demo\Converter\ 存放界面转换器
\Demo\Controls\ 存放基础控件
\Demo\Common\ 存放主程序非业务帮助类
\Demo\BusinessCommon\ 存放主程序业务帮助类
\Demo\ClientEnum\ 存放主程序枚举
\Demo\Update\ 存放主程序升级检查

文件命名

文件 描述 举例
业务名称.cs 领域模型(数据库用) LearnCore.cs
业务名称Item.cs 领域模型(列表子项) LearnCoreItem.cs
业务名称Dto.cs 数据模型(接口服务用) LearnCoreDto.cs
业务名称DtoFor分组名称.cs 数据模型(分组拆分) LearnCoreDtoForPrice.cs
业务名称ItemDto.cs 数据模型(列表子项) LearnCoreItemDto.cs
业务名称ViewDto.cs 绑定模型(界面绑定) LearnCoreViewDto.cs
业务名称ViewDtoFor分组名称.cs 绑定模型(分组拆分) LearnCoreViewDtoForPrice.cs
业务名称Page.xaml 界面定义 MainPage.xaml
业务名称Control.xaml 控件定义 MainControl.xaml
业务名称ViewModel.cs 绑定定义(数据绑定) MainViewModel.cs
业务名称ViewModelFor分组名称.cs 绑定定义(分组拆分) MainViewModelForLearnCore.cs

代码命名

业务 描述 举例
I 业务名 RemotingService 接口定义 - 学习API服务 ILearnCoreRemotingService
业务名 RemotingService 接口实现 - 学习API服务 LearnCoreRemotingService
I 业务名 Service 接口定义 - 学习服务 ILearnCoreService
业务名 Service 接口实现 - 学习服务 LearnCoreService
I 数据表名 QueryService 接口定义 - 学习查询数据 ILearnCoreQueryService
数据表名 QueryService 接口实现 - 学习查询数据 LearnCoreQueryService

辅助调试

附加自动策略

添加位置

\App_Data\LocalConfigs\PublishMode.json

配置说明

PublishMode
描述发布模式
枚举名 含义 数值
Release 正式上线-正式环境 1
Preview 发布预览-正式环境 2
Test 测试使用-测试环境 3
Develop 开发自用-测试环境 4
AutomaticType
描述自动操作
枚举名 含义 数值
AutoLogin 自动登录 1
MainFullScreen 主界面全屏 2
ViceSizeScreen 自定义副屏尺寸 3

配置举例

{

    "PublishMode": 4,
"PublishName": "开发自用-测试环境",
"AutomaticConfigs":[
{
"AutomaticType": 1,
"AutomaticName": "自动登录,XXX家的账号",
"AutomaticValues":[ "username","@userSuffix","password"]
},
{
"AutomaticType": 2,
"AutomaticName": "主界面全屏",
"AutomaticValues":[ false ]
},
{
"AutomaticType": 3,
"AutomaticName": "缩小副屏",
"AutomaticValues":[ 1024,600]
}
]
}
{

    "PublishMode": 3,
"PublishName": "测试使用-测试环境",
"AutomaticConfigs":[
{
"AutomaticType": 1,
"AutomaticName": "自动登录,XXX家的账号",
"AutomaticValues":[ "username","@userSuffix","password"]
},
{
"AutomaticType": 2,
"AutomaticName": "主界面全屏",
"AutomaticValues":[ false ]
},
{
"AutomaticType": 3,
"AutomaticName": "缩小副屏",
"AutomaticValues":[ 1024,600]
}
]
}

公共资源

.Net Core

Demo客户端相关规范 v1.0的更多相关文章

  1. Linux系统部署规范v1.0

    Linux系统部署规范v1.0 目的: 1.尽可能减少线上操作: 2.尽可能实现自动化部署: 3.尽可能减少安装服务和启动的服务: 4.尽可能使用安全协议提供服务: 5.尽可能让业务系统单一: 6.尽 ...

  2. arcconf工具相关命令V1.0

    arcconf工具相关命令V1.0 清除当前所有raid配置 Arcconf  delete  1  array  all       #删除所有逻辑盘 Arcconf  uninit  1  all ...

  3. Python代码项目目录规范v1.0

    程序目录规范:bin # 存放可执行程序 xxxx.py # 程序主程序(入口文件)config # 存放配置信息 settings.py # 全局配置文件(可能暂时未应用)db # 存放数据文件 c ...

  4. 【iCore4 双核心板】DEMO V1.0 测试程序发布

    iCore4 Demo V1.0程序说明 一.概要 本资料包含5个文件夹: 1.“arm”里是iCore4上arm的程序包,开发环境为KEIL5.17: 2.“fpga”里是iCore4上FPGA的程 ...

  5. 【iCore1S 双核心板】DEMO V1.0 测试程序发布

    iCore1S Demo V1.0程序说明 一.概要 本资料包含5个文件夹: 1.“ARM”里是iCore1S上ARM的程序包,开发环境为KEIL5.17: 2.“FPGA”里是iCore1S上FPG ...

  6. 安卓开发开发规范手册V1.0

    安卓开发开发规范手册V1.0 之前发布过一份Web安全开发规范手册V1.0,看到收藏文章的读者挺多,发现整理这些文档还挺有意义. 最近周末抽了些时间把之前收集关于安卓安全开发的资料也整理了一下,整理出 ...

  7. [iOS UI进阶 - 2.0] 彩票Demo v1.0

    A.需求 1.模仿“网易彩票”做出有5个导航页面和相应功能的Demo 2.v1.0 版本搭建基本框架   code source:https://github.com/hellovoidworld/H ...

  8. MingQQ v1.0高仿版开源了,使用WebQQ协议实现了QQ客户端基本的聊天功能...

    MingQQ v1.0高仿版开源了,使用WebQQ协议实现了QQ客户端基本的聊天功能... MingQQ目前支持的功能如下:1.支持普通方式登录.验证码方式登录.注销.保持在线.改变在线状态.2.支持 ...

  9. Rookey.Frame v1.0快速开发平台-用户登录

    上一次介绍的了Rookey.Frame v1.0快速开发平台的整体功能,接下来会对各个功能点进行解析说明,今天给大家介绍下系统登录功能. 用户登录 系统中基本上所有功能页面都是从后台代码拼接后返回的, ...

随机推荐

  1. Python3 报错'latin-1' codec can't encode character 解决方案

    Python3 报错'latin-1' codec can't encode character 解决方案 在更新数据库操作时,报错: UnicodeEncodeError: 'latin-1' co ...

  2. 005_simulink建立条件子系统

    1. 条件执行子系统 a)  使能子系统:是控制信号大于零时执行的子系统.在控制信号穿越零点由负变正的时步点上,使能子系统开始执行.只要子系统的控制信号保持正值,使能子系统就会保持在执行的状态 b)  ...

  3. 携程移动端案列(flex布局、背景图缩放,文字阴影)

    效果图如下: <body> <div class="nav"> <div class="row"> <div clas ...

  4. ROSservice 通信方式

    操作演示,对 service 通信的理解请看:点击打开链接 1. 使用 rosservice 1.1  rosservice list 假设小乌龟节点仍在运行  rosrun turtlesim tu ...

  5. geometry_msgs.msg.PoseStamped 代码示例

    https://programtalk.com/python-examples/geometry_msgs.msg.PoseStamped/

  6. label设置渐变时不显示纯英文纯数字字符串

    提出问题: 当对UILabel设置渐变color时,有点小问题.即:text为中文或中英混合字符串时显示正常,纯英文字符串不显示!!!   剖析问题: 经搜索了解到:在显示中文时,绘制渐变color的 ...

  7. spring bean 的作用域之间有什么区别

    spring bean 的作用域之间有什么区别? spring容器中的bean可以分为五个范围.所有范围的名称都是说明的, 1.singleton:这种bean范围是默认的,这种范围确保不管接受到多个 ...

  8. IDEA的版本控制

    参考:https://blog.csdn.net/qq_35246620/article/details/70792861 1.从远程仓库下载项目 2.提交项目到远程仓库

  9. resin初识

    Resin初识 1. resin简介 刚入职的公司用的后台服务器是resin,故因此学习记录一下. resin是一个非常流行的web引用服务器,对servlet和jsp提供了良好的支持,自身采用jav ...

  10. git clone 报“The project you were looking for could not be found.”

    因为自己的项目不止一个 又有自动保存git密码的功能,当clone第二个项目的时候就报了如下错误 之前一直是找到钥匙串删除,发现有时候并没有效果.今天在网上搜了一下 发现了一个新的解决办法 在项目前面 ...