This commit is contained in:
2021-06-03 16:43:40 +05:00
parent f9fcb14e47
commit 2ea459b400
101 changed files with 1409 additions and 636 deletions

View File

@@ -6,6 +6,7 @@ using System.Net.Sockets;
using System.Text;
using System.Threading.Tasks;
using NLog;
using DataClient.Struct;
namespace DataClient
{
@@ -13,45 +14,212 @@ namespace DataClient
{
private Logger log = LogManager.GetCurrentClassLogger();
private Encoding enc;
private string ip = "127.0.0.1";
private TcpClient tcpC = null;
/// <summary>Статус процесса выполнения запроса.
/// Предполагается использовать только на больших загрузках и в ассинхронных задачах.</summary>
public double Status
{
get
{
if (stat.stat == NetStatus.Status.wait) return 0;
if (stat.stat == NetStatus.Status.in_progress && stat.fullSize <= 0) return 0.01;
if (stat.stat == NetStatus.Status.in_progress) return ((double)stat.size / stat.fullSize);
stat.stat = NetStatus.Status.wait;
stat.fullSize = 0;
stat.size = 0;
return 1;
}
}
private NetStatus stat = new NetStatus();
/// <summary>Коды для работы с СТП.</summary>
/*
0x00 0x00 0x00 0x00 - 0000 - version
0x01 0x00 0x00 0x00 - 0001 - file list
0x03 0x00 0x00 0x00 - 0003 - pasp browse
0x04 0x00 0x00 0x00 - 0004 - pasp download
0x05 0x00 0x00 0x00 - 0005 - pasp find
0x06 0x00 0x00 0x00 - 0006 - prog list
0x07 0x00 0x00 0x00 - 0007 - prog download
0x08 0x00 0x00 0x00 - 0008 - server time
0x09 0x00 0x00 0x00 - 0009 - download usov
0x0A 0x00 0x00 0x00 - 0010 - slit history
0x0B 0x00 0x00 0x00 - 0011 - keep alive
- vdp cycle
- vdp active
- vdp last cycle
- rmt watchdog
- set rmt watchdog
0x11 0x00 0x00 0x00 - 0017 - print job
- pasp find2
- pasp browse2
- arch history
- download usov nhv
0x17 0x00 0x00 0x00 - 0023 - dir browse
- vdp sim med
- vdp flags
0x1A 0x00 0x00 0x00 - 0026 - user flags
0x1B 0x00 0x00 0x00 - 0027 - user motd
0x1C 0x00 0x00 0x00 - 0028 - user mail
0x1D 0x00 0x00 0x00 - 0029 - download tvso
0x1E 0x00 0x00 0x00 - 0030 - pasp download tvso
0x1F 0x00 0x00 0x00 - 0031 - pasp find tvso
- pasp browse tvsov
0x21 0x00 0x00 0x00 - 0033 - korpus cycle
0x22 0x00 0x00 0x00 - 0034 - korpus last cycle
0x23 0x00 0x00 0x00 - 0035 - download fdan
0x24 0x00 0x00 0x00 - 0036 - client version
- measure id
- read vdp config
- write vdp config
- read tvso config
- delete vdp config
0x2A 0x00 0x00 0x00 - 0042 - get plav personal
0x2B 0x00 0x00 0x00 - 0043 - get server info
0x2C 0x00 0x00 0x00 - 0044 - ctrl split
0x2D 0x00 0x00 0x00 - 0045 - ctrl set time
- ctrl end tc
0x2F 0x00 0x00 0x00 - 0047 - ctrl remove
0x30 0x00 0x00 0x00 - 0048 - ctrl spool
0x31 0x00 0x00 0x00 - 0049 - save pasport
- save pasport 90
0x33 0x00 0x00 0x00 - 0051 - find time bugs
0x34 0x00 0x00 0x00 - 0052 - update pasport
- get pasp by id
- cp com find pasp by temp
0x37 0x00 0x00 0x00 - 0055 - get splav list
0x38 0x00 0x00 0x00 - 0056 - get field val list
0x39 0x00 0x00 0x00 - 0057 - get plav list form
0x3A 0x00 0x00 0x00 - 0058 - get pasp by priv
0x3B 0x00 0x00 0x00 - 0059 - print job 2
0x3C 0x00 0x00 0x00 - 0060 - get pasp by name
- get pasp by id 90
0x3E 0x00 0x00 0x00 - 0062 - find pasp by temp 90
0x3F 0x00 0x00 0x00 - 0063 - get pasp by priv 90
0x40 0x00 0x00 0x00 - 0064 - get pasp by name 90
0x41 0x00 0x00 0x00 - 0065 - get plav list form 90
- ctrl split db
- ctrl set time db
- ctrl remove db
0x45 0x00 0x00 0x00 - 0069 - update stat
0x46 0x00 0x00 0x00 - 0070 - get cur params arr
0x47 0x00 0x00 0x00 - 0071 - get cur params
0x48 0x00 0x00 0x00 - 0072 - get cur params arr 5
0x49 0x00 0x00 0x00 - 0073 - get cur params 5
0x4A 0x00 0x00 0x00 - 0074 - fix db cycle
- by name
- test
*/
public enum Code : uint
{
download = 2,
download_nh = 21,
by_name = uint.MaxValue,
TCP_COM_VERSION = 0,
TCP_COM_FILE_LIST = 1,
TCP_COM_PASP_BROWSE = 3,
TCP_COM_PASP_DOWNLOAD = 4,
TCP_COM_PASP_FIND = 5,
TCP_COM_PROG_LIST = 6,
TCP_COM_PROG_DOWNLOAD = 7,
TCP_COM_SERVER_TIME = 8,
TCP_COM_DOWNLOAD_USOV = 9,
TCP_COM_SLIT_HISTORY = 10,
TCP_COM_KEEP_ALIVE = 11,
TCP_COM_VDP_CYCLE = 12,
TCP_COM_VDP_ACTIVE = 13,
TCP_COM_VDP_LAST_CYCLE = 14,
TCP_COM_RMT_WATCHDOG = 15,
TCP_COM_SET_RMT_WATCHDOG = 16,
TCP_COM_PRINT_JOB = 17,
TCP_COM_PASP_FIND2 = 18,
TCP_COM_PASP_BROWSE2 = 19,
TCP_COM_ARCH_HISTORY = 20,
TCP_COM_DOWNLOAD_USOV_NH = 22,
TCP_COM_DIR_BROWSE = 23,
TCP_COM_VDP_SIM_MED = 24,
TCP_COM_VDP_FLAGS = 25,
TCP_COM_USER_FLAGS = 26,
TCP_COM_USER_MOTD = 27,
TCP_COM_USER_MAIL = 28,
TCP_COM_DOWNLOAD_TVSO = 29,
TCP_COM_PASP_DOWNLOAD_TVSO = 30,
TCP_COM_PASP_FIND_TVSO = 31,
TCP_COM_PASP_BROWSE_TVSO = 32,
TCP_COM_KORPUS_CYCLE = 33,
TCP_COM_KORPUS_LAST_CYCLE = 34,
TCP_COM_DOWNLOAD_FDAN = 35,
TCP_COM_CLIENT_VERSION = 36,
TCP_COM_MEASURE_ID = 37,
TCP_COM_READ_VDP_CONFIG = 38,
TCP_COM_WRITE_VDP_CONFIG = 39,
TCP_COM_READ_TVSO_CONFIG = 40,
TCP_COM_DELETE_VDP_CONFIG = 41,
TCP_COM_GET_PLAV_PERSONAL = 42,
TCP_COM_GET_SERVER_INFO = 43,
TCP_COM_CTRL_SPLIT = 44,
TCP_COM_CTRL_SET_TIME = 45,
TCP_COM_CTRL_END_TC = 46,
TCP_COM_CTRL_REMOVE = 47,
TCP_COM_CTRL_SPOOL = 48,
TCP_COM_SAVE_PASPORT = 49,
TCP_COM_SAVE_PASPORT_90 = 50,
TCP_COM_FIND_TIME_BUGS = 51,
TCP_COM_UPDATE_PASPORT = 52,
TCP_COM_GET_PASP_BY_ID = 53,
TCP_COM_FIND_PASP_BY_TEMP = 54,
TCP_COM_GET_SPLAV_LIST = 55,
TCP_COM_GET_FIELD_VAL_LIST = 56,
TCP_COM_GET_PLAV_LIST_FORM = 57,
TCP_COM_GET_PASP_BY_PRIV = 58,
TCP_COM_PRINT_JOB_2 = 59,
TCP_COM_GET_PASP_BY_NAME = 60,
TCP_COM_GET_PASP_BY_ID_90 = 61,
TCP_COM_FIND_PASP_BY_TEMP_90 = 62,
TCP_COM_GET_PASP_BY_PRIV_90 = 63,
TCP_COM_GET_PASP_BY_NAME_90 = 64,
TCP_COM_GET_PLAV_LIST_FORM_90 = 65,
TCP_COM_CTRL_SPLIT_DB = 66,
TCP_COM_CTRL_SET_TIME_DB = 67,
TCP_COM_CTRL_REMOVE_DB = 68,
TCP_COM_UPDATE_STAT = 69,
TCP_COM_GET_CUR_PARAMS_ARR = 70,
TCP_COM_GET_CUR_PARAMS = 71,
TCP_COM_GET_CUR_PARAMS_ARR_5 = 72,
TCP_COM_GET_CUR_PARAMS_5 = 73,
TCP_COM_FIX_DB_CYCLE = 74,
}
/// <summary>IP адрес СТП.</summary>
public string Ip
{
get { return ip; }
set { ip = (IPAddress.TryParse(value, out _)) ? value : ip; }
}
private int port = 1070;
private string ip = "127.0.0.1";
/// <summary>Порт СТП.</summary>
public int Port
{
get { return port; }
set { port = (value < 1) ? 1 : (value > 65535) ? 65535 : value; }
}
private int retryCount = 3;
private int port = 1070;
/// <summary>Количество попыток переподключения.</summary>
public int RetryCount
{
get { return retryCount; }
set { retryCount = value < 1 ? 1 : value; }
}
private int retryInterval = 1;
private int retryCount = 3;
/// <summary>Время в секундах между попытками переподключения.</summary>
public int RetryInterval
{
get { return retryInterval; }
set { retryInterval = (value < 1) ? 1 : value; }
}
private TcpClient tcpC = null;
/// <summary>Коды для работы с СТП.</summary>
public enum Code : uint
{
check_command = uint.MaxValue,
version = 0,
pasp_download = 4,
download_nh = 21,
dir_browse = 23,
user_flags = 26
}
private int retryInterval = 1;
//Construction
public NETClient()
@@ -80,13 +248,13 @@ namespace DataClient
tryCounts = (tryCounts < 1) ? 1 : tryCounts;
awaitInterval = (awaitInterval < 1) ? 1 : awaitInterval;
var res = new List<byte>();
if (!ns.CanRead) throw new Exception("NetworkStream not access to Read.");
if (!ns.Socket.Connected) throw new Exception("NetworkStream not connected to server.");
if (!ns.CanRead) throw new InvalidOperationException("NetworkStream not access to Read.");
if (!ns.Socket.Connected) throw new InvalidOperationException("NetworkStream not connected to server.");
int tryCount = 0;
do
{
if (!ns.Socket.Connected) throw new Exception("Server drop connection.");
if (!ns.Socket.Connected) throw new InvalidOperationException("Server drop connection.");
if (!ns.DataAvailable)
{
tryCount++;
@@ -104,20 +272,20 @@ namespace DataClient
/// <param name="ns">Открытый сетевой поток.</param>
/// <param name="size">Кол-во получаемый байт.</param>
/// <returns>Массив байт, равный заданному кол-ву.</returns>
private byte[] ReceiveBytesFixSize(NetworkStream ns, int size, int awaitInterval = 1, int tryCounts = 3)
private byte[] ReceiveBytesFixSize(NetworkStream ns, uint size, int awaitInterval = 1, int tryCounts = 3)
{
tryCounts = (tryCounts < 1) ? 1 : tryCounts;
awaitInterval = (awaitInterval < 1) ? 1 : awaitInterval;
if (size <= 0) throw new Exception("Size can't be less or zero.");
if (!ns.CanRead) throw new Exception("NetworkStream not access to Read.");
if (!ns.Socket.Connected) throw new Exception("NetworkStream not connected to server.");
if (size == 0) throw new ArgumentException("Size can't be zero.");
if (!ns.CanRead) throw new InvalidOperationException("NetworkStream not access to Read.");
if (!ns.Socket.Connected) throw new InvalidOperationException("NetworkStream not connected to server.");
var res = new byte[size];
var countSize = 0;
int tryCount = 0;
do
{
if (!ns.Socket.Connected) throw new Exception("Server drop connection.");
if (!ns.Socket.Connected) throw new InvalidOperationException("Server drop connection.");
if (!ns.DataAvailable)
{
tryCount++;
@@ -131,7 +299,7 @@ namespace DataClient
if (countSize == size)
return res;
} while (tryCount < tryCounts);
throw new Exception("Can't get all bytes.");
return res;
}
/// <summary>Отправить массив байт на СТП.</summary>
/// <param name="ns">Открытый сетевой поток.</param>
@@ -139,8 +307,8 @@ namespace DataClient
/// <returns>Результат отправки.</returns>
private bool SendBytes(NetworkStream ns, byte[] arr)
{
if (!ns.CanWrite) throw new Exception("NetworkStream not access to Write.");
if (!ns.Socket.Connected) throw new Exception("NetworkStream not connected to server.");
if (!ns.CanWrite) throw new InvalidOperationException("NetworkStream not access to Write.");
if (!ns.Socket.Connected) throw new InvalidOperationException("NetworkStream not connected to server.");
try { ns.Write(arr, 0, arr.Length); }
catch { return false; }
return true;
@@ -153,7 +321,7 @@ namespace DataClient
/// <param name="val">Передаваемая строка.</param>
/// <param name="postfix">Байты после передаваемой строкой.</param>
/// <returns>Массив байт для отправки на СТП.</returns>
public byte[] CreateCode(uint code, byte[] prefix = null, string val = null, byte[] postfix = null)
public byte[] CreateCode(uint code, string val = null, byte[] prefix = null, byte[] postfix = null)
{
var res = new List<byte>();
res.AddRange(BitConverter.GetBytes(code));
@@ -197,7 +365,7 @@ namespace DataClient
/// <param name="send">Массив байт для отправки.</param>
public void SendBytes(byte[] send)
{
if (!Connected()) throw new Exception("Connection not exist.");
if (!Connected()) throw new InvalidOperationException("Connection not exist.");
var ns = tcpC.GetStream();
SendBytes(ns, send);
}
@@ -206,7 +374,7 @@ namespace DataClient
public byte[] ReceiveBytes()
{
var res = new List<byte>();
if (!Connected()) throw new Exception("Connection not exist.");
if (!Connected()) throw new InvalidOperationException("Connection not exist.");
var ns = tcpC.GetStream();
res.AddRange(ReceiveBytesUnknown(ns));
return res.ToArray();
@@ -214,7 +382,7 @@ namespace DataClient
/// <summary>Получить определенное количество байт.</summary>
/// <param name="size">Количество байт.</param>
/// <returns>Массив байт.</returns>
public byte[] ReceiveBytes(int size)
public byte[] ReceiveBytes(uint size)
{
var res = new List<byte>();
if (!Connected()) throw new Exception("Connection not exist.");
@@ -222,21 +390,127 @@ namespace DataClient
res.AddRange(ReceiveBytesFixSize(ns, size));
return res.ToArray();
}
//SubMain functions
/// <summary>Внутренняя функция получения файлов.</summary>
/// <param name="code">Код, который будет отправлен на сервер.</param>
/// <param name="date">Дата. Из неё формируется строка в формате YYYMMDD</param>
/// <param name="vdp">Номер печи. 00 - общецеховые параметры.</param>
/// <param name="idx">Индекс файла. От 0 до 15.</param>
/// <returns></returns>
private byte[] GetFile(Code code, DateTime date, int vdp, int idx)
{
if (code != Code.download_nh && code != Code.download)
throw new ArgumentException("Wrong code for this method.");
if (stat.stat == NetStatus.Status.in_progress)
throw new InvalidOperationException("Previous method not finished.");
stat.stat = NetStatus.Status.in_progress;
bool flag_connection = !Connected();
if (flag_connection) Connect();
if (!Connected())
{
stat.stat = NetStatus.Status.complete;
throw new InvalidOperationException("Can't create connection.");
}
var str = date.ToString("yyyyMMdd") + "." + vdp.ToString("D2") + (idx % 16).ToString("X1");
try { SendBytes(CreateCode((uint)code, str)); }
catch (Exception e)
{
stat.stat = NetStatus.Status.complete;
if (flag_connection) Close();
throw new InvalidOperationException("Can't send code.", e);
}
var res = new List<byte>();
var flag_end = false;
try
{
do
{
var tmp = ReceiveBytes(1);
switch (tmp[0])
{
case 0x00:
stat.stat = NetStatus.Status.complete;
flag_end = true;
break;
case 0x01:
var blockSize = BitConverter.ToUInt32(ReceiveBytes(4));
res.AddRange(ReceiveBytes(blockSize));
stat.size = (uint)res.Count;
break;
case 0x02:
var fullSize = BitConverter.ToUInt32(ReceiveBytes(4));
stat.fullSize = fullSize;
break;
case 0xff:
stat.stat = NetStatus.Status.complete;
flag_end = true;
break;
}
} while (!flag_end);
}
catch (Exception e)
{
throw new InvalidOperationException("Can't download file.", e);
}
finally
{
stat.stat = NetStatus.Status.complete;
if (flag_connection) Close();
}
return res.ToArray();
}
//COMMANDS FUNCTIONS
/// <summary>Получение файла данных (байтами) с СТП.</summary>
/// <param name="date">Дата. Из неё формируется строка в формате YYYMMDD</param>
/// <param name="vdp">Номер печи. 00 - общецеховые параметры.</param>
/// <param name="idx">Индекс файла. От 0 до 15.</param>
/// <returns>Обработанный массив байт.</returns>
public byte[] GetFile(DateTime date, int vdp, int idx)
public byte[] Full_Download_NH(DateTime date, int vdp, int idx)
{
try { return GetFile(Code.download_nh, date, vdp, idx); }
catch { throw; }
}
/// <summary>Получение файла данных (байтами) с СТП.</summary>
/// <param name="date">Дата. Из неё формируется строка в формате YYYMMDD</param>
/// <param name="vdp">Номер печи. 00 - общецеховые параметры.</param>
/// <param name="idx">Индекс файла. От 0 до 15.</param>
/// <returns>Обработанный массив байт.</returns>
public byte[] Full_Download(DateTime date, int vdp, int idx)
{
try { return GetFile(Code.download, date, vdp, idx); }
catch { throw; }
}
public byte[] Full_By_Name(string val)
{
if (string.IsNullOrEmpty(val)) return null;
bool flag_connection = !Connected();
if (!Connected()) Connect();
if (!Connected()) throw new Exception("Can't create connection.");
var str = date.ToString("yyyyMMdd") + vdp.ToString("D2") + (idx % 16).ToString("X1");
SendBytes(CreateCode((uint)Code.download_nh, null, str));
var res = ReceiveBytes();
if (flag_connection) Close();
return res;
if (flag_connection) Connect();
if (!Connected()) { throw new InvalidOperationException("Can't create connection."); }
try { SendBytes(CreateCode((uint)Code.by_name, val)); }
catch (Exception e)
{
if (flag_connection) Close();
throw new InvalidOperationException("Can't send code.", e);
}
try
{
var tmp = ReceiveBytes(1);
return tmp[0] switch
{
0x00 => null,
0x01 => ReceiveBytes(4),
_ => throw new InvalidOperationException("Wrong answer from server."),
};
}
catch (Exception e) { throw new InvalidOperationException("Can't receive code.", e); }
finally { if (flag_connection) Close(); }
}
public string[] Full_Dir_Browse(string dir)
{
}
}
}

View File

@@ -27,4 +27,16 @@ namespace DataClient.Struct
dir = Dir;
}
}
public class NetStatus
{
public enum Status
{
wait = 0,
in_progress = 1,
complete = 2
}
public uint fullSize = 0;
public uint size = 0;
public Status stat = Status.wait;
}
}

View File

@@ -0,0 +1,16 @@
{
"servers": [
{
"name": "STP 1",
"ip": "10.10.45.151",
"port": 1070,
"dir": "Y:\\data"
},
{
"name": "STP 2",
"ip": "10.10.45.152",
"port": 1070,
"dir": "Z:\\data"
}
]
}

View File

@@ -0,0 +1,199 @@
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v5.0",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v5.0": {
"DataClient/0.0.3": {
"dependencies": {
"NLog": "4.7.10",
"NLog.Extensions.Logging": "1.7.2",
"Newtonsoft.Json": "13.0.1"
},
"runtime": {
"DataClient.dll": {}
}
},
"Microsoft.Extensions.Configuration.Abstractions/5.0.0": {
"dependencies": {
"Microsoft.Extensions.Primitives": "5.0.0"
},
"runtime": {
"lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.dll": {
"assemblyVersion": "5.0.0.0",
"fileVersion": "5.0.20.51904"
}
}
},
"Microsoft.Extensions.DependencyInjection/5.0.0": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "5.0.0"
},
"runtime": {
"lib/net5.0/Microsoft.Extensions.DependencyInjection.dll": {
"assemblyVersion": "5.0.0.0",
"fileVersion": "5.0.20.51904"
}
}
},
"Microsoft.Extensions.DependencyInjection.Abstractions/5.0.0": {
"runtime": {
"lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {
"assemblyVersion": "5.0.0.0",
"fileVersion": "5.0.20.51904"
}
}
},
"Microsoft.Extensions.Logging/5.0.0": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection": "5.0.0",
"Microsoft.Extensions.DependencyInjection.Abstractions": "5.0.0",
"Microsoft.Extensions.Logging.Abstractions": "5.0.0",
"Microsoft.Extensions.Options": "5.0.0"
},
"runtime": {
"lib/netstandard2.1/Microsoft.Extensions.Logging.dll": {
"assemblyVersion": "5.0.0.0",
"fileVersion": "5.0.20.51904"
}
}
},
"Microsoft.Extensions.Logging.Abstractions/5.0.0": {
"runtime": {
"lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.dll": {
"assemblyVersion": "5.0.0.0",
"fileVersion": "5.0.20.51904"
}
}
},
"Microsoft.Extensions.Options/5.0.0": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "5.0.0",
"Microsoft.Extensions.Primitives": "5.0.0"
},
"runtime": {
"lib/net5.0/Microsoft.Extensions.Options.dll": {
"assemblyVersion": "5.0.0.0",
"fileVersion": "5.0.20.51904"
}
}
},
"Microsoft.Extensions.Primitives/5.0.0": {
"runtime": {
"lib/netcoreapp3.0/Microsoft.Extensions.Primitives.dll": {
"assemblyVersion": "5.0.0.0",
"fileVersion": "5.0.20.51904"
}
}
},
"Newtonsoft.Json/13.0.1": {
"runtime": {
"lib/netstandard2.0/Newtonsoft.Json.dll": {
"assemblyVersion": "13.0.0.0",
"fileVersion": "13.0.1.25517"
}
}
},
"NLog/4.7.10": {
"runtime": {
"lib/netstandard2.0/NLog.dll": {
"assemblyVersion": "4.0.0.0",
"fileVersion": "4.7.10.13013"
}
}
},
"NLog.Extensions.Logging/1.7.2": {
"dependencies": {
"Microsoft.Extensions.Configuration.Abstractions": "5.0.0",
"Microsoft.Extensions.Logging": "5.0.0",
"NLog": "4.7.10"
},
"runtime": {
"lib/net5.0/NLog.Extensions.Logging.dll": {
"assemblyVersion": "1.0.0.0",
"fileVersion": "1.7.2.1548"
}
}
}
}
},
"libraries": {
"DataClient/0.0.3": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"Microsoft.Extensions.Configuration.Abstractions/5.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-ETjSBHMp3OAZ4HxGQYpwyGsD8Sw5FegQXphi0rpoGMT74S4+I2mm7XJEswwn59XAaKOzC15oDSOWEE8SzDCd6Q==",
"path": "microsoft.extensions.configuration.abstractions/5.0.0",
"hashPath": "microsoft.extensions.configuration.abstractions.5.0.0.nupkg.sha512"
},
"Microsoft.Extensions.DependencyInjection/5.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-Rc2kb/p3Ze6cP6rhFC3PJRdWGbLvSHZc0ev7YlyeU6FmHciDMLrhoVoTUEzKPhN5ZjFgKF1Cf5fOz8mCMIkvpA==",
"path": "microsoft.extensions.dependencyinjection/5.0.0",
"hashPath": "microsoft.extensions.dependencyinjection.5.0.0.nupkg.sha512"
},
"Microsoft.Extensions.DependencyInjection.Abstractions/5.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-ORj7Zh81gC69TyvmcUm9tSzytcy8AVousi+IVRAI8nLieQjOFryRusSFh7+aLk16FN9pQNqJAiMd7BTKINK0kA==",
"path": "microsoft.extensions.dependencyinjection.abstractions/5.0.0",
"hashPath": "microsoft.extensions.dependencyinjection.abstractions.5.0.0.nupkg.sha512"
},
"Microsoft.Extensions.Logging/5.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-MgOwK6tPzB6YNH21wssJcw/2MKwee8b2gI7SllYfn6rvTpIrVvVS5HAjSU2vqSku1fwqRvWP0MdIi14qjd93Aw==",
"path": "microsoft.extensions.logging/5.0.0",
"hashPath": "microsoft.extensions.logging.5.0.0.nupkg.sha512"
},
"Microsoft.Extensions.Logging.Abstractions/5.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-NxP6ahFcBnnSfwNBi2KH2Oz8Xl5Sm2krjId/jRR3I7teFphwiUoUeZPwTNA21EX+5PtjqmyAvKaOeBXcJjcH/w==",
"path": "microsoft.extensions.logging.abstractions/5.0.0",
"hashPath": "microsoft.extensions.logging.abstractions.5.0.0.nupkg.sha512"
},
"Microsoft.Extensions.Options/5.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-CBvR92TCJ5uBIdd9/HzDSrxYak+0W/3+yxrNg8Qm6Bmrkh5L+nu6m3WeazQehcZ5q1/6dDA7J5YdQjim0165zg==",
"path": "microsoft.extensions.options/5.0.0",
"hashPath": "microsoft.extensions.options.5.0.0.nupkg.sha512"
},
"Microsoft.Extensions.Primitives/5.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-cI/VWn9G1fghXrNDagX9nYaaB/nokkZn0HYAawGaELQrl8InSezfe9OnfPZLcJq3esXxygh3hkq2c3qoV3SDyQ==",
"path": "microsoft.extensions.primitives/5.0.0",
"hashPath": "microsoft.extensions.primitives.5.0.0.nupkg.sha512"
},
"Newtonsoft.Json/13.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==",
"path": "newtonsoft.json/13.0.1",
"hashPath": "newtonsoft.json.13.0.1.nupkg.sha512"
},
"NLog/4.7.10": {
"type": "package",
"serviceable": true,
"sha512": "sha512-rcegW7kYOCjl7wX0SzsqpPBqnJ51JKi1WkYb6QBVX0Wc5IgH19Pv4t/co+T0s06OS0Ne44xgkY/mHg0PdrmJow==",
"path": "nlog/4.7.10",
"hashPath": "nlog.4.7.10.nupkg.sha512"
},
"NLog.Extensions.Logging/1.7.2": {
"type": "package",
"serviceable": true,
"sha512": "sha512-0y1QziAUCdePQc4itPOQF3xDcs0iE9NHlIK0hE0eA0+Ef6E9dnJDPveNu7w2ckYaDfJIFHpOoLK8sZmNEyiBCw==",
"path": "nlog.extensions.logging/1.7.2",
"hashPath": "nlog.extensions.logging.1.7.2.nupkg.sha512"
}
}
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1,24 +1,25 @@
{
"format": 1,
"restore": {
"F:\\GIT\\ASCKU_PC\\DataClient\\DataClient.csproj": {}
"D:\\GIT\\ASCKU_PC\\DataClient\\DataClient.csproj": {}
},
"projects": {
"F:\\GIT\\ASCKU_PC\\DataClient\\DataClient.csproj": {
"D:\\GIT\\ASCKU_PC\\DataClient\\DataClient.csproj": {
"version": "0.0.3",
"restore": {
"projectUniqueName": "F:\\GIT\\ASCKU_PC\\DataClient\\DataClient.csproj",
"projectUniqueName": "D:\\GIT\\ASCKU_PC\\DataClient\\DataClient.csproj",
"projectName": "DataClient",
"projectPath": "F:\\GIT\\ASCKU_PC\\DataClient\\DataClient.csproj",
"packagesPath": "C:\\Users\\Admin\\.nuget\\packages\\",
"outputPath": "F:\\GIT\\ASCKU_PC\\DataClient\\obj\\",
"projectPath": "D:\\GIT\\ASCKU_PC\\DataClient\\DataClient.csproj",
"packagesPath": "C:\\Users\\google\\.nuget\\packages\\",
"outputPath": "D:\\GIT\\ASCKU_PC\\DataClient\\obj\\",
"projectStyle": "PackageReference",
"fallbackFolders": [
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages",
"C:\\Program Files (x86)\\Microsoft\\Xamarin\\NuGet\\"
"C:\\Program Files (x86)\\Microsoft\\Xamarin\\NuGet\\",
"C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder"
],
"configFilePaths": [
"C:\\Users\\Admin\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Users\\google\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config",
"C:\\Program Files (x86)\\NuGet\\Config\\Xamarin.Offline.config"
@@ -74,7 +75,7 @@
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\5.0.300\\RuntimeIdentifierGraph.json"
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\5.0.201\\RuntimeIdentifierGraph.json"
}
}
}

View File

@@ -5,14 +5,15 @@
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\Admin\.nuget\packages\;C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages;C:\Program Files (x86)\Microsoft\Xamarin\NuGet\</NuGetPackageFolders>
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\google\.nuget\packages\;C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages;C:\Program Files (x86)\Microsoft\Xamarin\NuGet\;C:\Program Files\dotnet\sdk\NuGetFallbackFolder</NuGetPackageFolders>
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">5.10.0</NuGetToolVersion>
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">5.9.0</NuGetToolVersion>
</PropertyGroup>
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<SourceRoot Include="C:\Users\Admin\.nuget\packages\" />
<SourceRoot Include="C:\Users\google\.nuget\packages\" />
<SourceRoot Include="C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages\" />
<SourceRoot Include="C:\Program Files (x86)\Microsoft\Xamarin\NuGet\" />
<SourceRoot Include="C:\Program Files\dotnet\sdk\NuGetFallbackFolder\" />
</ItemGroup>
<PropertyGroup>
<MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>

View File

@@ -0,0 +1 @@
898e6554eebd2f3d6753598716680015b14c74de

View File

@@ -0,0 +1,13 @@
D:\GIT\ASCKU_PC\DataClient\bin\Debug\net5.0\Config\config.json
D:\GIT\ASCKU_PC\DataClient\bin\Debug\net5.0\DataClient.deps.json
D:\GIT\ASCKU_PC\DataClient\bin\Debug\net5.0\DataClient.dll
D:\GIT\ASCKU_PC\DataClient\bin\Debug\net5.0\ref\DataClient.dll
D:\GIT\ASCKU_PC\DataClient\bin\Debug\net5.0\DataClient.pdb
D:\GIT\ASCKU_PC\DataClient\obj\Debug\net5.0\DataClient.csprojAssemblyReference.cache
D:\GIT\ASCKU_PC\DataClient\obj\Debug\net5.0\DataClient.GeneratedMSBuildEditorConfig.editorconfig
D:\GIT\ASCKU_PC\DataClient\obj\Debug\net5.0\DataClient.AssemblyInfoInputs.cache
D:\GIT\ASCKU_PC\DataClient\obj\Debug\net5.0\DataClient.AssemblyInfo.cs
D:\GIT\ASCKU_PC\DataClient\obj\Debug\net5.0\DataClient.csproj.CoreCompileInputs.cache
D:\GIT\ASCKU_PC\DataClient\obj\Debug\net5.0\DataClient.dll
D:\GIT\ASCKU_PC\DataClient\obj\Debug\net5.0\ref\DataClient.dll
D:\GIT\ASCKU_PC\DataClient\obj\Debug\net5.0\DataClient.pdb

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -361,25 +361,27 @@
]
},
"packageFolders": {
"C:\\Users\\Admin\\.nuget\\packages\\": {},
"C:\\Users\\google\\.nuget\\packages\\": {},
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages": {},
"C:\\Program Files (x86)\\Microsoft\\Xamarin\\NuGet\\": {}
"C:\\Program Files (x86)\\Microsoft\\Xamarin\\NuGet\\": {},
"C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder": {}
},
"project": {
"version": "0.0.3",
"restore": {
"projectUniqueName": "F:\\GIT\\ASCKU_PC\\DataClient\\DataClient.csproj",
"projectUniqueName": "D:\\GIT\\ASCKU_PC\\DataClient\\DataClient.csproj",
"projectName": "DataClient",
"projectPath": "F:\\GIT\\ASCKU_PC\\DataClient\\DataClient.csproj",
"packagesPath": "C:\\Users\\Admin\\.nuget\\packages\\",
"outputPath": "F:\\GIT\\ASCKU_PC\\DataClient\\obj\\",
"projectPath": "D:\\GIT\\ASCKU_PC\\DataClient\\DataClient.csproj",
"packagesPath": "C:\\Users\\google\\.nuget\\packages\\",
"outputPath": "D:\\GIT\\ASCKU_PC\\DataClient\\obj\\",
"projectStyle": "PackageReference",
"fallbackFolders": [
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages",
"C:\\Program Files (x86)\\Microsoft\\Xamarin\\NuGet\\"
"C:\\Program Files (x86)\\Microsoft\\Xamarin\\NuGet\\",
"C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder"
],
"configFilePaths": [
"C:\\Users\\Admin\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Users\\google\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config",
"C:\\Program Files (x86)\\NuGet\\Config\\Xamarin.Offline.config"
@@ -435,7 +437,7 @@
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\5.0.300\\RuntimeIdentifierGraph.json"
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\5.0.201\\RuntimeIdentifierGraph.json"
}
}
}

View File

@@ -1,19 +1,19 @@
{
"version": 2,
"dgSpecHash": "lCVOnkDSpCDkY6mFU39PPTK/8UioIwkzLSm5l9U0BI9kmvrQU3GBEeKlZLkvo3I3Vmgv8BfwOMFxbII4ikrnzA==",
"dgSpecHash": "fLzCMyL0TTYR6ScHYw8lseE4tuHRjlfRhsrbzgdqw/qeVRrQYigyT797G0cUiPOmrt1GVD0KWz3n3AZIE22bzQ==",
"success": true,
"projectFilePath": "F:\\GIT\\ASCKU_PC\\DataClient\\DataClient.csproj",
"projectFilePath": "D:\\GIT\\ASCKU_PC\\DataClient\\DataClient.csproj",
"expectedPackageFiles": [
"C:\\Users\\Admin\\.nuget\\packages\\microsoft.extensions.configuration.abstractions\\5.0.0\\microsoft.extensions.configuration.abstractions.5.0.0.nupkg.sha512",
"C:\\Users\\Admin\\.nuget\\packages\\microsoft.extensions.dependencyinjection\\5.0.0\\microsoft.extensions.dependencyinjection.5.0.0.nupkg.sha512",
"C:\\Users\\Admin\\.nuget\\packages\\microsoft.extensions.dependencyinjection.abstractions\\5.0.0\\microsoft.extensions.dependencyinjection.abstractions.5.0.0.nupkg.sha512",
"C:\\Users\\Admin\\.nuget\\packages\\microsoft.extensions.logging\\5.0.0\\microsoft.extensions.logging.5.0.0.nupkg.sha512",
"C:\\Users\\Admin\\.nuget\\packages\\microsoft.extensions.logging.abstractions\\5.0.0\\microsoft.extensions.logging.abstractions.5.0.0.nupkg.sha512",
"C:\\Users\\Admin\\.nuget\\packages\\microsoft.extensions.options\\5.0.0\\microsoft.extensions.options.5.0.0.nupkg.sha512",
"C:\\Users\\Admin\\.nuget\\packages\\microsoft.extensions.primitives\\5.0.0\\microsoft.extensions.primitives.5.0.0.nupkg.sha512",
"C:\\Users\\Admin\\.nuget\\packages\\newtonsoft.json\\13.0.1\\newtonsoft.json.13.0.1.nupkg.sha512",
"C:\\Users\\Admin\\.nuget\\packages\\nlog\\4.7.10\\nlog.4.7.10.nupkg.sha512",
"C:\\Users\\Admin\\.nuget\\packages\\nlog.extensions.logging\\1.7.2\\nlog.extensions.logging.1.7.2.nupkg.sha512"
"C:\\Users\\google\\.nuget\\packages\\microsoft.extensions.configuration.abstractions\\5.0.0\\microsoft.extensions.configuration.abstractions.5.0.0.nupkg.sha512",
"C:\\Users\\google\\.nuget\\packages\\microsoft.extensions.dependencyinjection\\5.0.0\\microsoft.extensions.dependencyinjection.5.0.0.nupkg.sha512",
"C:\\Users\\google\\.nuget\\packages\\microsoft.extensions.dependencyinjection.abstractions\\5.0.0\\microsoft.extensions.dependencyinjection.abstractions.5.0.0.nupkg.sha512",
"C:\\Users\\google\\.nuget\\packages\\microsoft.extensions.logging\\5.0.0\\microsoft.extensions.logging.5.0.0.nupkg.sha512",
"C:\\Users\\google\\.nuget\\packages\\microsoft.extensions.logging.abstractions\\5.0.0\\microsoft.extensions.logging.abstractions.5.0.0.nupkg.sha512",
"C:\\Users\\google\\.nuget\\packages\\microsoft.extensions.options\\5.0.0\\microsoft.extensions.options.5.0.0.nupkg.sha512",
"C:\\Users\\google\\.nuget\\packages\\microsoft.extensions.primitives\\5.0.0\\microsoft.extensions.primitives.5.0.0.nupkg.sha512",
"C:\\Users\\google\\.nuget\\packages\\newtonsoft.json\\13.0.1\\newtonsoft.json.13.0.1.nupkg.sha512",
"C:\\Users\\google\\.nuget\\packages\\nlog\\4.7.10\\nlog.4.7.10.nupkg.sha512",
"C:\\Users\\google\\.nuget\\packages\\nlog.extensions.logging\\1.7.2\\nlog.extensions.logging.1.7.2.nupkg.sha512"
],
"logs": []
}