增加A7 GB2312的A8
uuid@datetime@垃圾类型@子类@重量@单价@金额@操作员@物品编码@垃圾桶@毛重@皮重@净重@ID1@ID2@ID3@ID4@ID5@ID6@ID7@ID8
This commit is contained in:
parent
d9d6149ed0
commit
10ca96e5c1
|
|
@ -144,7 +144,7 @@ namespace Waste.Application
|
||||||
return dbClient.Queryable<W_MeasureResult>().Where(e => ids.Contains(e.ResultId)).ToList();
|
return dbClient.Queryable<W_MeasureResult>().Where(e => ids.Contains(e.ResultId)).ToList();
|
||||||
});
|
});
|
||||||
var ext = allext.FirstOrDefault(e => e.ResultId == it.Id);
|
var ext = allext.FirstOrDefault(e => e.ResultId == it.Id);
|
||||||
it.WasteType = ext != null && !ext.WasteSType.IsEmpty() ? $"{ext.WasteSType}【{it.WasteType}】" : it.WasteType;
|
it.WasteType = /*ext != null && !ext.WasteSType.IsEmpty() ? $"{ext.WasteSType}【{it.WasteType}】" :*/ it.WasteType;
|
||||||
it.Measure_WasteSType = ext?.WasteSType;
|
it.Measure_WasteSType = ext?.WasteSType;
|
||||||
it.Measure_Price = ext?.Price;
|
it.Measure_Price = ext?.Price;
|
||||||
it.Measure_Amount = ext?.Amount;
|
it.Measure_Amount = ext?.Amount;
|
||||||
|
|
|
||||||
|
|
@ -1877,6 +1877,31 @@
|
||||||
操作员
|
操作员
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="P:Waste.Application.A8Package.DeviceFacEcode">
|
||||||
|
<summary>
|
||||||
|
设备出厂序列号/设备出厂编号
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Waste.Application.A8Package.Registration">
|
||||||
|
<summary>
|
||||||
|
车牌号/物品编码/垃圾桶编号
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Waste.Application.A8Package.GrossWeight">
|
||||||
|
<summary>
|
||||||
|
毛重,KG
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Waste.Application.A8Package.Tare">
|
||||||
|
<summary>
|
||||||
|
皮重,KG
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Waste.Application.A8Package.NetWeight">
|
||||||
|
<summary>
|
||||||
|
净重,KG
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
<member name="T:Waste.Application.A8MyPackage">
|
<member name="T:Waste.Application.A8MyPackage">
|
||||||
<summary>
|
<summary>
|
||||||
A8协议模块上传的数据包体
|
A8协议模块上传的数据包体
|
||||||
|
|
|
||||||
|
|
@ -77,29 +77,16 @@ namespace Waste.SocketService
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="bt"></param>
|
/// <param name="bt"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public static string BytesToString(this byte[] bytes)
|
public static string BytesToString(this byte[] bytes, Encoding enocde)
|
||||||
{
|
{
|
||||||
string returnStr = "";
|
string returnStr = "";
|
||||||
if (bytes != null)
|
if (bytes != null)
|
||||||
{
|
{
|
||||||
returnStr = Encoding.GetEncoding("GB2312").GetString(bytes);
|
returnStr = enocde.GetString(bytes);
|
||||||
}
|
|
||||||
return returnStr;
|
|
||||||
}
|
|
||||||
/// <summary>
|
|
||||||
/// 字节数组转字符串
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="bt"></param>
|
|
||||||
/// <returns></returns>
|
|
||||||
public static string BytesToStringBUtf8(this byte[] bytes)
|
|
||||||
{
|
|
||||||
string returnStr = "";
|
|
||||||
if (bytes != null)
|
|
||||||
{
|
|
||||||
returnStr = Encoding.UTF8.GetString(bytes);
|
|
||||||
}
|
}
|
||||||
return returnStr;
|
return returnStr;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 字节数据转中文
|
/// 字节数据转中文
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
@ -200,8 +187,13 @@ namespace Waste.SocketService
|
||||||
var package = new MyPackage();
|
var package = new MyPackage();
|
||||||
var _reader = reader;
|
var _reader = reader;
|
||||||
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
|
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
|
||||||
|
var GB2312 = Encoding.GetEncoding("GB2312");
|
||||||
|
var UTF8 = Encoding.UTF8;
|
||||||
string key = "";
|
string key = "";
|
||||||
int keylen = 1;
|
int keylen = 1;
|
||||||
|
|
||||||
|
package.Str = _reader.ReadString(GB2312);
|
||||||
|
|
||||||
#region 解析头部,头部固定为A9
|
#region 解析头部,头部固定为A9
|
||||||
if (reader.Length >= 2)
|
if (reader.Length >= 2)
|
||||||
{
|
{
|
||||||
|
|
@ -211,19 +203,18 @@ namespace Waste.SocketService
|
||||||
keys[0] = key1Byte;
|
keys[0] = key1Byte;
|
||||||
reader.TryRead(out byte key2Byte);
|
reader.TryRead(out byte key2Byte);
|
||||||
keys[1] = key2Byte;
|
keys[1] = key2Byte;
|
||||||
key = keys.BytesToString();
|
key = keys.BytesToString(GB2312);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
byte[] keys = new byte[1];
|
byte[] keys = new byte[1];
|
||||||
reader.TryRead(out byte key1Byte);
|
reader.TryRead(out byte key1Byte);
|
||||||
keys[0] = key1Byte;
|
keys[0] = key1Byte;
|
||||||
key = keys.BytesToString();
|
key = keys.BytesToString(GB2312);
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
if (key != "A9" && key !="A8")
|
if (key != "A9" && key != "A8" && key != "A7")
|
||||||
{
|
{
|
||||||
package.Str = _reader.ReadString(Encoding.GetEncoding("GB2312"));
|
|
||||||
var len = reader.Length;
|
var len = reader.Length;
|
||||||
string msg = "";
|
string msg = "";
|
||||||
reader.Rewind(keylen);
|
reader.Rewind(keylen);
|
||||||
|
|
@ -234,6 +225,13 @@ namespace Waste.SocketService
|
||||||
}
|
}
|
||||||
package.IsChecked = false;
|
package.IsChecked = false;
|
||||||
package.Body = msg;
|
package.Body = msg;
|
||||||
|
return package;
|
||||||
|
|
||||||
|
}
|
||||||
|
else if (key == "A7")
|
||||||
|
{
|
||||||
|
key = "A8";//全部GB2312的A8
|
||||||
|
return ReadA7(reader, package, key, GB2312);
|
||||||
}
|
}
|
||||||
else if (key == "A8")
|
else if (key == "A8")
|
||||||
{
|
{
|
||||||
|
|
@ -250,7 +248,7 @@ namespace Waste.SocketService
|
||||||
{
|
{
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
body = bytes.BytesToStringBUtf8().Replace("\r", "").Replace("\n", "");
|
body = bytes.BytesToString(UTF8).Replace("\r", "").Replace("\n", "");
|
||||||
package.Body = bytes.BytesToHexStr();
|
package.Body = bytes.BytesToHexStr();
|
||||||
var arr = body.Split('|');
|
var arr = body.Split('|');
|
||||||
#region 心跳包的处理,IMEI|GPS
|
#region 心跳包的处理,IMEI|GPS
|
||||||
|
|
@ -271,7 +269,7 @@ namespace Waste.SocketService
|
||||||
package.ICCID = arr[0];
|
package.ICCID = arr[0];
|
||||||
package.IMEI = arr[1];
|
package.IMEI = arr[1];
|
||||||
package.IMSI = arr[2];
|
package.IMSI = arr[2];
|
||||||
var gslq = Encoding.GetEncoding("GB2312").GetBytes(arr[3]);
|
var gslq = GB2312.GetBytes(arr[3]);
|
||||||
if (gslq.Length == 2)
|
if (gslq.Length == 2)
|
||||||
{
|
{
|
||||||
package.GSLQ = Convert.ToInt32(gslq[1]).ToString();
|
package.GSLQ = Convert.ToInt32(gslq[1]).ToString();
|
||||||
|
|
@ -287,7 +285,7 @@ namespace Waste.SocketService
|
||||||
package.ICCID = arr[0];
|
package.ICCID = arr[0];
|
||||||
package.IMEI = arr[1];
|
package.IMEI = arr[1];
|
||||||
package.IMSI = arr[2];
|
package.IMSI = arr[2];
|
||||||
var gslq = Encoding.GetEncoding("GB2312").GetBytes(arr[3]);
|
var gslq = GB2312.GetBytes(arr[3]);
|
||||||
if (gslq.Length == 2)
|
if (gslq.Length == 2)
|
||||||
{
|
{
|
||||||
package.GSLQ = Convert.ToInt32(gslq[1]).ToString();
|
package.GSLQ = Convert.ToInt32(gslq[1]).ToString();
|
||||||
|
|
@ -298,7 +296,7 @@ namespace Waste.SocketService
|
||||||
}
|
}
|
||||||
package.Time = $"{arr[4]}{arr[5]}".Replace("-", "").Replace(":", "");
|
package.Time = $"{arr[4]}{arr[5]}".Replace("-", "").Replace(":", "");
|
||||||
//uuid@datetime@垃圾类型@子类@重量@价格@金额@操作员
|
//uuid@datetime@垃圾类型@子类@重量@价格@金额@操作员
|
||||||
package.Str = _reader.ReadString(Encoding.UTF8);
|
//package.Str = _reader.ReadString(Encoding.UTF8);
|
||||||
var measurearr = arr[6].Split('@');
|
var measurearr = arr[6].Split('@');
|
||||||
if (measurearr.Length == 8)
|
if (measurearr.Length == 8)
|
||||||
{
|
{
|
||||||
|
|
@ -335,10 +333,11 @@ namespace Waste.SocketService
|
||||||
|
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
return package;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
package.Str = _reader.ReadString(Encoding.GetEncoding("GB2312"));
|
//package.Str = _reader.ReadString(GB2312);
|
||||||
package.Key = key;
|
package.Key = key;
|
||||||
package.Len = (int)reader.Length - 2;
|
package.Len = (int)reader.Length - 2;
|
||||||
string body = "";
|
string body = "";
|
||||||
|
|
@ -352,7 +351,7 @@ namespace Waste.SocketService
|
||||||
{
|
{
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
body = bytes.BytesToString().Replace("\r", "").Replace("\n", "");
|
body = bytes.BytesToString(GB2312).Replace("\r", "").Replace("\n", "");
|
||||||
package.Body = bytes.BytesToHexStr();
|
package.Body = bytes.BytesToHexStr();
|
||||||
var arr = body.Split('|');
|
var arr = body.Split('|');
|
||||||
#region 心跳包的处理,IMEI|GPS
|
#region 心跳包的处理,IMEI|GPS
|
||||||
|
|
@ -373,7 +372,7 @@ namespace Waste.SocketService
|
||||||
package.ICCID = arr[0];
|
package.ICCID = arr[0];
|
||||||
package.IMEI = arr[1];
|
package.IMEI = arr[1];
|
||||||
package.IMSI = arr[2];
|
package.IMSI = arr[2];
|
||||||
var gslq = Encoding.GetEncoding("GB2312").GetBytes(arr[3]);
|
var gslq = GB2312.GetBytes(arr[3]);
|
||||||
if (gslq.Length == 2)
|
if (gslq.Length == 2)
|
||||||
{
|
{
|
||||||
package.GSLQ = Convert.ToInt32(gslq[1]).ToString();
|
package.GSLQ = Convert.ToInt32(gslq[1]).ToString();
|
||||||
|
|
@ -389,7 +388,7 @@ namespace Waste.SocketService
|
||||||
package.ICCID = arr[0];
|
package.ICCID = arr[0];
|
||||||
package.IMEI = arr[1];
|
package.IMEI = arr[1];
|
||||||
package.IMSI = arr[2];
|
package.IMSI = arr[2];
|
||||||
var gslq = Encoding.GetEncoding("GB2312").GetBytes(arr[3]);
|
var gslq = GB2312.GetBytes(arr[3]);
|
||||||
if (gslq.Length == 2)
|
if (gslq.Length == 2)
|
||||||
{
|
{
|
||||||
package.GSLQ = Convert.ToInt32(gslq[1]).ToString();
|
package.GSLQ = Convert.ToInt32(gslq[1]).ToString();
|
||||||
|
|
@ -400,7 +399,7 @@ namespace Waste.SocketService
|
||||||
}
|
}
|
||||||
package.Time = $"{arr[4]}{arr[5]}".Replace("-", "").Replace(":", "");
|
package.Time = $"{arr[4]}{arr[5]}".Replace("-", "").Replace(":", "");
|
||||||
//厨余垃圾/大桶@垃圾桶编号@厨余垃圾@7.91
|
//厨余垃圾/大桶@垃圾桶编号@厨余垃圾@7.91
|
||||||
var b = Encoding.GetEncoding("GB2312").GetBytes(arr[6]);
|
var b = GB2312.GetBytes(arr[6]);
|
||||||
if (b.Length > 23)
|
if (b.Length > 23)
|
||||||
{
|
{
|
||||||
byte[] tbyte = new byte[1]; //桶类型
|
byte[] tbyte = new byte[1]; //桶类型
|
||||||
|
|
@ -430,9 +429,9 @@ namespace Waste.SocketService
|
||||||
var thex = tbyte.BytesToHexStr();
|
var thex = tbyte.BytesToHexStr();
|
||||||
var codehex = codebyte.BytesToHexStr();
|
var codehex = codebyte.BytesToHexStr();
|
||||||
var typehex = typebyte.BytesToHexStr();
|
var typehex = typebyte.BytesToHexStr();
|
||||||
var typestr = typebyte.BytesToString();
|
var typestr = typebyte.BytesToString(GB2312);
|
||||||
var whex = wbyte.BytesToHexStr();
|
var whex = wbyte.BytesToHexStr();
|
||||||
var wstr = wbyte.BytesToString();
|
var wstr = wbyte.BytesToString(GB2312);
|
||||||
package.size = thex.Replace(" ", "");
|
package.size = thex.Replace(" ", "");
|
||||||
package.trashcode = codehex.Replace(" ", "").HextToDec().ToString();
|
package.trashcode = codehex.Replace(" ", "").HextToDec().ToString();
|
||||||
package.WasteType = typestr;
|
package.WasteType = typestr;
|
||||||
|
|
@ -446,16 +445,121 @@ namespace Waste.SocketService
|
||||||
|
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
}
|
|
||||||
return package;
|
return package;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Console.WriteLine($"数据处理发生异常:{ex.Message}");
|
Console.WriteLine($"数据处理发生异常:{ex.Message}");
|
||||||
return new MyPackage();
|
return new MyPackage();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void Read(MyPackage package, string[] measurearr)
|
private static MyPackage ReadA7(SequenceReader<byte> reader, MyPackage package, string key, Encoding encoding)
|
||||||
|
{
|
||||||
|
//package.Str = reader.ReadString(encoding);
|
||||||
|
|
||||||
|
package.Key = key;
|
||||||
|
package.Len = (int)reader.Length - 2;
|
||||||
|
string body = "";
|
||||||
|
byte[] bytes = new byte[package.Len];
|
||||||
|
for (var i = 0; i < package.Len; i++)
|
||||||
|
{
|
||||||
|
reader.TryRead(out byte val);
|
||||||
|
bytes[i] = val;
|
||||||
|
}
|
||||||
|
if (bytes.Length == 1 && bytes[0] == 0)
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
body = bytes.BytesToString(encoding).Replace("\r", "").Replace("\n", "");
|
||||||
|
package.Body = bytes.BytesToHexStr();
|
||||||
|
var arr = body.Split('|');
|
||||||
|
#region 心跳包的处理,IMEI|GPS
|
||||||
|
if (arr.Length == 2)
|
||||||
|
{
|
||||||
|
package.IsHeart = true;
|
||||||
|
package.IMEI = arr[0];
|
||||||
|
var gpsarr = arr[1].Split(',');
|
||||||
|
if (gpsarr.Length == 2)
|
||||||
|
{
|
||||||
|
package.Longitude = gpsarr[0];
|
||||||
|
package.Latitude = gpsarr[1];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (arr.Length == 7 && string.IsNullOrEmpty(arr[6]))
|
||||||
|
{
|
||||||
|
package.IsHeart = true;
|
||||||
|
package.ICCID = arr[0];
|
||||||
|
package.IMEI = arr[1];
|
||||||
|
package.IMSI = arr[2];
|
||||||
|
var gslq = encoding.GetBytes(arr[3]);
|
||||||
|
if (gslq.Length == 2)
|
||||||
|
{
|
||||||
|
package.GSLQ = Convert.ToInt32(gslq[1]).ToString();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
package.GSLQ = gslq.BytesToHexStr();
|
||||||
|
}
|
||||||
|
package.Time = $"{arr[4]}{arr[5]}".Replace("-", "").Replace(":", "");
|
||||||
|
}
|
||||||
|
else if (arr.Length == 7)
|
||||||
|
{
|
||||||
|
package.ICCID = arr[0];
|
||||||
|
package.IMEI = arr[1];
|
||||||
|
package.IMSI = arr[2];
|
||||||
|
var gslq = encoding.GetBytes(arr[3]);
|
||||||
|
if (gslq.Length == 2)
|
||||||
|
{
|
||||||
|
package.GSLQ = Convert.ToInt32(gslq[1]).ToString();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
package.GSLQ = gslq.BytesToHexStr();
|
||||||
|
}
|
||||||
|
package.Time = $"{arr[4]}{arr[5]}".Replace("-", "").Replace(":", "");
|
||||||
|
//uuid@datetime@垃圾类型@子类@重量@价格@金额@操作员
|
||||||
|
var measurearr = arr[6].Split('@');
|
||||||
|
if (measurearr.Length == 8)
|
||||||
|
{
|
||||||
|
Read(package, measurearr);
|
||||||
|
package.IsWeight = true;
|
||||||
|
}
|
||||||
|
//uuid@datetime@垃圾类型@子类@重量@单价@金额@操作员@物品编码@垃圾桶@毛重@皮重@净重@ID1@ID2@ID3@ID4@ID5@ID6@ID7@ID8\r\n
|
||||||
|
else if (measurearr.Length == 21)
|
||||||
|
{
|
||||||
|
|
||||||
|
Read(package, measurearr);
|
||||||
|
|
||||||
|
package.DeviceFacEcode = measurearr[8];
|
||||||
|
package.Registration = measurearr[9];
|
||||||
|
package.GrossWeight = measurearr[10];
|
||||||
|
package.Tare = measurearr[11];
|
||||||
|
package.NetWeight = measurearr[12];
|
||||||
|
|
||||||
|
package.ID1 = measurearr[13];
|
||||||
|
package.ID2 = measurearr[14];
|
||||||
|
package.ID3 = measurearr[15];
|
||||||
|
package.ID4 = measurearr[16];
|
||||||
|
package.ID5 = measurearr[17];
|
||||||
|
package.ID6 = measurearr[18];
|
||||||
|
package.ID7 = measurearr[19];
|
||||||
|
package.ID8 = measurearr[20];
|
||||||
|
|
||||||
|
package.IsWeight = true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
package.size = arr[6];
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
return package;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void Read(MyPackage package, string[] measurearr)
|
||||||
{
|
{
|
||||||
package.UUID = measurearr[0];
|
package.UUID = measurearr[0];
|
||||||
package.UploadTime = measurearr[1];
|
package.UploadTime = measurearr[1];
|
||||||
|
|
@ -468,4 +572,3 @@ namespace Waste.SocketService
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
|
||||||
|
|
@ -38,6 +38,10 @@ namespace Waste.SocketService
|
||||||
new string('-', 50);//输出模板
|
new string('-', 50);//输出模板
|
||||||
//1.输出所有restrictedToMinimumLevel:LogEventLevel类型
|
//1.输出所有restrictedToMinimumLevel:LogEventLevel类型
|
||||||
config
|
config
|
||||||
|
.Enrich.WithProperty("Application", typeof(Program).Assembly.GetName().Name)
|
||||||
|
.Enrich.WithProcessId()
|
||||||
|
.Enrich.WithProcessName()
|
||||||
|
.WriteTo.Console()
|
||||||
.WriteTo.Seq("http://localhost:5341/")
|
.WriteTo.Seq("http://localhost:5341/")
|
||||||
|
|
||||||
//2.1仅输出 LogEventLevel.Debug 类型
|
//2.1仅输出 LogEventLevel.Debug 类型
|
||||||
|
|
@ -113,7 +117,7 @@ namespace Waste.SocketService
|
||||||
var _logger = services.GetService<ILogger>();
|
var _logger = services.GetService<ILogger>();
|
||||||
if (package.IsChecked)
|
if (package.IsChecked)
|
||||||
{
|
{
|
||||||
string msg = $"通过校检,十六进制:{package.Body},字符串:{package.Str}";
|
string msg = $"通过校检,Key:{package.Key}十六进制:{package.Body},字符串:{package.Str}";
|
||||||
if (package.IsHeart)
|
if (package.IsHeart)
|
||||||
{
|
{
|
||||||
msg = $"{msg},心跳包数据,{(package == null ? "" : JsonConvert.SerializeObject(package))}";
|
msg = $"{msg},心跳包数据,{(package == null ? "" : JsonConvert.SerializeObject(package))}";
|
||||||
|
|
@ -162,7 +166,7 @@ namespace Waste.SocketService
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
_logger.Information($"未通过校检,十六进制:{package.Body},字符串:{package.Str}");
|
_logger.Information($"未通过校检,Key:{package.Key},十六进制:{package.Body},字符串:{package.Str}");
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
})
|
})
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
<Project Sdk="Microsoft.NET.Sdk.Worker">
|
<Project Sdk="Microsoft.NET.Sdk.Worker">
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net5.0</TargetFramework>
|
<TargetFramework>net5.0</TargetFramework>
|
||||||
|
|
@ -17,6 +17,7 @@
|
||||||
<PackageReference Include="Furion.Extras.Logging.Serilog" Version="2.20.6" />
|
<PackageReference Include="Furion.Extras.Logging.Serilog" Version="2.20.6" />
|
||||||
<PackageReference Include="Microsoft.Extensions.Hosting" Version="5.0.0" />
|
<PackageReference Include="Microsoft.Extensions.Hosting" Version="5.0.0" />
|
||||||
<PackageReference Include="Microsoft.Extensions.Hosting.WindowsServices" Version="5.0.1" />
|
<PackageReference Include="Microsoft.Extensions.Hosting.WindowsServices" Version="5.0.1" />
|
||||||
|
<PackageReference Include="Serilog.Enrichers.Process" Version="2.0.2" />
|
||||||
<PackageReference Include="Serilog.Sinks.Seq" Version="5.1.0" />
|
<PackageReference Include="Serilog.Sinks.Seq" Version="5.1.0" />
|
||||||
<PackageReference Include="SuperSocket" Version="2.0.0-beta.10" />
|
<PackageReference Include="SuperSocket" Version="2.0.0-beta.10" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue