[성현모] Svn 업데이트 받기
This commit is contained in:
@ -772,7 +772,7 @@ namespace SystemX.Net.MiddlewareUI
|
||||
this.IconOptions.Image = global::SystemX.Net.MiddlewareUI.Log.Properties.Resources.AppIcon1;
|
||||
this.Name = "MainForm";
|
||||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
|
||||
this.Text = "SystemX.Net.Middleware.UI - Log CPXV2-JSON v240912";
|
||||
this.Text = "SystemX.Net.Middleware.UI - Log CPXV2-JSON";
|
||||
this.WindowState = System.Windows.Forms.FormWindowState.Maximized;
|
||||
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.MainForm_FormClosing);
|
||||
this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.MainForm_FormClosed);
|
||||
|
||||
@ -46,6 +46,7 @@ using System.Collections.Concurrent;
|
||||
using SystemX.Net.Comm.IIS_FTP;
|
||||
using SystemX.Net.Platform.SystemX.Net.XEFCore.DBContext.CPXV2LogJson;
|
||||
using SystemX.Net.Platform.SystemX.Net.XEFCore;
|
||||
using System.Reflection;
|
||||
|
||||
namespace SystemX.Net.MiddlewareUI
|
||||
{
|
||||
@ -264,9 +265,15 @@ namespace SystemX.Net.MiddlewareUI
|
||||
|
||||
InitializeComponent();
|
||||
|
||||
AssemblyName assemblyName = Assembly.GetExecutingAssembly().GetName();
|
||||
|
||||
Version assemblyVersion = assemblyName.Version;
|
||||
|
||||
MessageOutput.ConsoleWrite(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss>>") +
|
||||
@"Use CP-Server[X] Middleware [LOG] Version for [CPXV2][v240912] " +
|
||||
@"Use CP-Server[X] Middleware [LOG] Version for [CPXV2][" + assemblyVersion.ToString() + "] " +
|
||||
"[SystemX.Net.Middleware.Log : MainForm]", ConsoleColor.Green, LogMessageLevel.FATAL);
|
||||
|
||||
this.Text += " " + assemblyVersion.ToString();
|
||||
//
|
||||
EnableMenuItem(GetSystemMenu(this.Handle, false), SC_CLOSE, MF_GRAYED);
|
||||
|
||||
|
||||
@ -4,13 +4,13 @@ using System.Runtime.InteropServices;
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
[assembly: AssemblyTitle("SystemX.Net.MiddlewareUI")]
|
||||
[assembly: AssemblyDescription("SystemX")]
|
||||
[assembly: AssemblyTitle("SystemX.Net.MiddlewareUI.Log")]
|
||||
[assembly: AssemblyDescription("CPX Middleware Log")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("SystemX")]
|
||||
[assembly: AssemblyProduct("SystemX.Net.MiddlewareUI")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2022")]
|
||||
[assembly: AssemblyTrademark("CP-ServerX")]
|
||||
[assembly: AssemblyProduct("SystemX.Net.MiddlewareUI.Log")]
|
||||
[assembly: AssemblyCopyright("© 2025 SystemX Co., Ltd. All rights reserved.")]
|
||||
[assembly: AssemblyTrademark("CPX Middleware")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
// Setting ComVisible to false makes the types in this assembly not visible
|
||||
// to COM components. If you need to access a type in this assembly from
|
||||
@ -28,5 +28,5 @@ using System.Runtime.InteropServices;
|
||||
// You can specify all the values or you can default the Build and Revision Numbers
|
||||
// by using the '*' as shown below:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("20.22.11.29")]
|
||||
[assembly: AssemblyFileVersion("20.22.11.29")]
|
||||
[assembly: AssemblyVersion("2025.05.15.0001")]
|
||||
[assembly: AssemblyFileVersion("2025.05.15.0001")]
|
||||
|
||||
@ -523,7 +523,7 @@ namespace SystemX.Net.MiddlewareUI
|
||||
this.IconOptions.Icon = ((System.Drawing.Icon)(resources.GetObject("MainForm.IconOptions.Icon")));
|
||||
this.Name = "MainForm";
|
||||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
|
||||
this.Text = "SystemX.Net.Middleware.UI - CPXV2-JSON v240829";
|
||||
this.Text = "SystemX.Net.Middleware.UI - CPXV2-JSON";
|
||||
this.WindowState = System.Windows.Forms.FormWindowState.Maximized;
|
||||
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.MainForm_FormClosing);
|
||||
this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.MainForm_FormClosed);
|
||||
|
||||
@ -47,6 +47,7 @@ using static SystemX.Net.DB.XDBConnManager;
|
||||
using SystemX.Net.Middleware.Commons;
|
||||
using SystemX.Net.Platform.SystemX.Common;
|
||||
using System.Collections.Concurrent;
|
||||
using System.Reflection;
|
||||
|
||||
namespace SystemX.Net.MiddlewareUI
|
||||
{
|
||||
@ -286,10 +287,16 @@ namespace SystemX.Net.MiddlewareUI
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
AssemblyName assemblyName = Assembly.GetExecutingAssembly().GetName();
|
||||
|
||||
Version assemblyVersion = assemblyName.Version;
|
||||
|
||||
MessageOutput.ConsoleWrite(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss>>") +
|
||||
@"Use CP-Server[X] Middleware Version for [CPXV2][v240829] " +
|
||||
@"Use CP-Server[X] Middleware Version for [CPXV2][" + assemblyVersion.ToString() + "] " +
|
||||
"[SystemX.Net.MiddlewareUI : MainForm]", ConsoleColor.Green, LogMessageLevel.FATAL);
|
||||
|
||||
this.Text += " " + assemblyVersion.ToString();
|
||||
|
||||
EnableMenuItem(GetSystemMenu(this.Handle, false), SC_CLOSE, MF_GRAYED);
|
||||
|
||||
ConsoleUtil.ConsoleHide();
|
||||
|
||||
@ -4,13 +4,13 @@ using System.Runtime.InteropServices;
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
[assembly: AssemblyTitle("SystemX.Net.MiddlewareUI")]
|
||||
[assembly: AssemblyDescription("SystemX")]
|
||||
[assembly: AssemblyTitle("SystemX.Net.MiddlewareUI.UIM")]
|
||||
[assembly: AssemblyDescription("CPX Middleware UIM")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("SystemX")]
|
||||
[assembly: AssemblyProduct("SystemX.Net.MiddlewareUI")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2022")]
|
||||
[assembly: AssemblyTrademark("CP-ServerX")]
|
||||
[assembly: AssemblyProduct("SystemX.Net.MiddlewareUI.UIM")]
|
||||
[assembly: AssemblyCopyright("© 2025 SystemX Co., Ltd. All rights reserved.")]
|
||||
[assembly: AssemblyTrademark("CPX Middleware")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
// Setting ComVisible to false makes the types in this assembly not visible
|
||||
// to COM components. If you need to access a type in this assembly from
|
||||
@ -28,5 +28,5 @@ using System.Runtime.InteropServices;
|
||||
// You can specify all the values or you can default the Build and Revision Numbers
|
||||
// by using the '*' as shown below:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("20.22.11.29")]
|
||||
[assembly: AssemblyFileVersion("20.22.11.29")]
|
||||
[assembly: AssemblyVersion("2025.05.15.0001")]
|
||||
[assembly: AssemblyFileVersion("2025.05.15.0001")]
|
||||
|
||||
@ -81,11 +81,6 @@ namespace SystemX.Net.MiddlewareUI.UIM.Protocol_Method
|
||||
bUseExist = Parent_.GetConnectInfoFindHost(strGetHostID, strGetSection, bGetUseUIM);
|
||||
|
||||
bExistInformation = (drFindInfo != null ? drFindInfo.Count() > 0 : false);
|
||||
|
||||
if(drFindInfo == null)
|
||||
{
|
||||
;//
|
||||
}
|
||||
}
|
||||
|
||||
if (bExistInformation ||
|
||||
@ -104,7 +99,7 @@ namespace SystemX.Net.MiddlewareUI.UIM.Protocol_Method
|
||||
strConnectIP = thisConnInfo.strCommandEndPointInfo;
|
||||
|
||||
//TODO : For Test Server Code
|
||||
if (/* true || */ strConnectIP.IndexOf(strRegIP) >= 0 || bGetUseUIM)
|
||||
if (true || strConnectIP.IndexOf(strRegIP) >= 0 || bGetUseUIM)
|
||||
{
|
||||
;//IP Address Compare Result PASS
|
||||
}
|
||||
|
||||
@ -5,12 +5,12 @@ using System.Runtime.InteropServices;
|
||||
// 제어됩니다. 어셈블리와 관련된 정보를 수정하려면
|
||||
// 이러한 특성 값을 변경하세요.
|
||||
[assembly: AssemblyTitle("SystemX.Net.XAdaptor.PC")]
|
||||
[assembly: AssemblyDescription("For Middleware connect dll(XAdaptor.PC)")]
|
||||
[assembly: AssemblyDescription("CPX Adaptor")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("SystemX")]
|
||||
[assembly: AssemblyProduct("SystemX.Net.XAdaptor.PC")]
|
||||
[assembly: AssemblyCopyright("SystemX Copyright © 2020")]
|
||||
[assembly: AssemblyTrademark("SystemX.Net")]
|
||||
[assembly: AssemblyCopyright("© 2025 SystemX Co., Ltd. All rights reserved.")]
|
||||
[assembly: AssemblyTrademark("CPX Adaptor")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// ComVisible을 false로 설정하면 이 어셈블리의 형식이 COM 구성 요소에
|
||||
@ -31,5 +31,5 @@ using System.Runtime.InteropServices;
|
||||
// 모든 값을 지정하거나 아래와 같이 '*'를 사용하여 빌드 번호 및 수정 번호를
|
||||
// 기본값으로 할 수 있습니다.
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||
[assembly: AssemblyVersion("2025.05.15.0001")]
|
||||
[assembly: AssemblyFileVersion("2025.05.15.0001")]
|
||||
|
||||
@ -186,6 +186,8 @@ namespace SystemX.Net.XAdaptor
|
||||
LoginKEY = string.Empty;
|
||||
|
||||
ServerTestListLoadState = false;
|
||||
|
||||
ControlFTP = null;
|
||||
}
|
||||
|
||||
// TODO : FTP ALIS
|
||||
|
||||
@ -6,6 +6,7 @@ using System.IO;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Net.Sockets;
|
||||
using System.Reflection;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Threading;
|
||||
@ -29,8 +30,12 @@ namespace SystemX.Net.XAdaptor.Manager
|
||||
|
||||
public XAdaptorManager(string strConfigFilePos = "")
|
||||
{
|
||||
AssemblyName assemblyName = Assembly.GetExecutingAssembly().GetName();
|
||||
|
||||
Version assemblyVersion = assemblyName.Version;
|
||||
|
||||
MessageOutput.ConsoleWrite(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss>>") +
|
||||
@"Use CP-Server[X] Adaptor Version for [CPXV2][v240829] " +
|
||||
@"Use CP-Server[X] Adaptor Version for [CPXV2][" + assemblyVersion.ToString() + "] " +
|
||||
"[SystemX.Net.XAdaptor.Manager : XAdaptorManager]", ConsoleColor.Green, LogMessageLevel.FATAL);
|
||||
|
||||
strCreateConfigFilePos = string.Empty;
|
||||
@ -183,10 +188,17 @@ namespace SystemX.Net.XAdaptor.Manager
|
||||
return GetAdaptorHandler.StateFTP;
|
||||
}
|
||||
|
||||
private eFTPServiceStatus StartFTP()
|
||||
private eFTPServiceStatus CheckFTP()
|
||||
{
|
||||
GetAdaptorHandler.StateFTP = xAdaptor.StartFTPService();
|
||||
for (int n = 0; n < 3; n++)
|
||||
{
|
||||
GetAdaptorHandler.StateFTP = xAdaptor.StartFTPService();
|
||||
|
||||
if (GetAdaptorHandler.StateFTP == eFTPServiceStatus.Connected)
|
||||
break;
|
||||
if (GetAdaptorHandler.StateFTP == eFTPServiceStatus.Unused)
|
||||
break;
|
||||
}
|
||||
return GetAdaptorHandler.StateFTP;
|
||||
}
|
||||
|
||||
@ -202,7 +214,7 @@ namespace SystemX.Net.XAdaptor.Manager
|
||||
}
|
||||
|
||||
// TODO : FTP ALIS
|
||||
StartFTP();
|
||||
CheckFTP();
|
||||
|
||||
xAdaptor.ConnectStartStyleAuto = true;
|
||||
|
||||
@ -232,7 +244,7 @@ namespace SystemX.Net.XAdaptor.Manager
|
||||
}
|
||||
|
||||
// TODO : FTP ALIS
|
||||
StartFTP();
|
||||
CheckFTP();
|
||||
|
||||
xAdaptor.ConnectStartStyleAuto = false;
|
||||
|
||||
|
||||
@ -479,51 +479,6 @@ namespace SystemX.Net.XAdaptor.PC
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
/*
|
||||
if (START_EVENT_TRIGGER[0])
|
||||
{
|
||||
START_EVENT_TRIGGER[0] = false;
|
||||
|
||||
//CommandConnectAlarmEvent?.BeginInvoke(null, null, null, null);
|
||||
//CommandConnectAlarmEvent?.Invoke(null, null);
|
||||
|
||||
OnCommandConnectAlarm(null, null);
|
||||
}
|
||||
if (START_EVENT_TRIGGER[1])
|
||||
{
|
||||
START_EVENT_TRIGGER[1] = false;
|
||||
|
||||
//StreamConnectAlarmEvent?.BeginInvoke(null, null, null, null);
|
||||
//StreamConnectAlarmEvent?.Invoke(null, null);
|
||||
|
||||
OnStreamConnectAlarm(null, null);
|
||||
}
|
||||
*/
|
||||
//
|
||||
/*
|
||||
//Command Stream Conn Check
|
||||
if (StateClientSocketConnect == false)
|
||||
goto ROUTINE_OUT;
|
||||
if (thisConnInfo.stCommandCheckTime.ElapsedMilliseconds >= 60000)
|
||||
{
|
||||
SendCommandConnectState();
|
||||
|
||||
thisConnInfo.OnCommandCheckTime();
|
||||
}
|
||||
//
|
||||
if (StateClientStreamSocketConnect == false)
|
||||
goto ROUTINE_OUT;
|
||||
if (thisConnInfo.stStreamCheckTime.ElapsedMilliseconds >= 60000)
|
||||
{
|
||||
SendStreamConnectState();
|
||||
|
||||
thisConnInfo.OnStreamCheckTime();
|
||||
}
|
||||
|
||||
ROUTINE_OUT:
|
||||
*/
|
||||
}
|
||||
}
|
||||
|
||||
@ -579,7 +534,9 @@ namespace SystemX.Net.XAdaptor.PC
|
||||
//
|
||||
if (StateAdaptorConnect)
|
||||
{
|
||||
;//
|
||||
//if (StateClientAutoConnect)
|
||||
{
|
||||
}
|
||||
}
|
||||
//
|
||||
thisConnInfo.OnCommandTime();
|
||||
@ -603,7 +560,7 @@ namespace SystemX.Net.XAdaptor.PC
|
||||
if (LoadInfo.FTP_Use)
|
||||
{
|
||||
ControlFTP = new CtrlFTP(LoadInfo.FTP_Use,
|
||||
IPAddress.Parse(LoadInfo.FTP_IPAddress), Convert.ToInt32(LoadInfo.FTP_Port),
|
||||
IPAddress.Parse(LoadInfo.FTP_IPAddress), Convert.ToInt32(LoadInfo.FTP_Port),
|
||||
LoadInfo.FTP_Account, LoadInfo.FTP_Password);
|
||||
|
||||
if (ControlFTP.FTPConnState)
|
||||
@ -612,7 +569,12 @@ namespace SystemX.Net.XAdaptor.PC
|
||||
return eFTPServiceStatus.Disconnected;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (ControlFTP != null)
|
||||
ControlFTP.FTPConnState = false;
|
||||
|
||||
return eFTPServiceStatus.Unused;
|
||||
}
|
||||
}
|
||||
|
||||
public DataSet WaitSystemQuery(string strQuery)
|
||||
|
||||
@ -314,54 +314,6 @@ namespace SystemX.Net.XAdaptor.PC
|
||||
AsyncResult result = (AsyncResult)ar;
|
||||
}
|
||||
|
||||
/*
|
||||
private void WaitTskJoin(WaitParameter wp, PacketFlowControl getPF, byte ucGetLabel, bool bUseDataSet = true, long lTimeOut = COMMAND_TIME_OUT)
|
||||
{
|
||||
wp.Init(getPF);
|
||||
|
||||
Thread t = new Thread(delegate () {
|
||||
QueryResult.Initialize();
|
||||
QueryResult.xData = wp.TskCheckResult(ucGetLabel, lTimeOut);
|
||||
if (QueryResult.xData != null)
|
||||
{
|
||||
QueryResult.bQueryResult = QueryResult.xData.bReplayResult;
|
||||
|
||||
if (bUseDataSet)
|
||||
QueryResult.QueryDataSet = QueryResult.xData.objData as DataSet;
|
||||
else
|
||||
{
|
||||
QueryResult.QueryDataSet = null;
|
||||
|
||||
if (QueryResult.xData.objData is TRANSFER_PACKET)
|
||||
{
|
||||
TRANSFER_PACKET TransferResult = (TRANSFER_PACKET)QueryResult.xData.objData;
|
||||
|
||||
byte ucCheckLabel = QueryResult.xData.nLabel;
|
||||
|
||||
QueryResult.bFileRecvResult = TransferResult.bRecvResult;
|
||||
QueryResult.bFileProcessResult = TransferResult.bProcessResult;
|
||||
}
|
||||
else if (QueryResult.xData.objData is COMM_INFO_PACKET)
|
||||
{
|
||||
COMM_INFO_PACKET Result = (COMM_INFO_PACKET)QueryResult.xData.objData;
|
||||
|
||||
byte ucCheckLabel = QueryResult.xData.nLabel;
|
||||
}
|
||||
}
|
||||
|
||||
QueryResult.strVarParam1 = QueryResult.xData.HeaderPacket.objVarParam1[0].Data;
|
||||
QueryResult.strVarParam2 = QueryResult.xData.HeaderPacket.objVarParam2[0].Data;
|
||||
QueryResult.strVarParam3 = QueryResult.xData.HeaderPacket.objVarParam3[0].Data;
|
||||
}
|
||||
else
|
||||
getPF.STM.ClearLabel(ucGetLabel);
|
||||
});
|
||||
|
||||
t.Start();
|
||||
t.Join();
|
||||
}
|
||||
*/
|
||||
|
||||
private void WaitThreadJoin(WaitParameter wp, PacketFlowControl getPF, byte ucGetLabel, bool bUseDataSet = true, long lTimeOut = COMMAND_TIME_OUT)
|
||||
{
|
||||
wp.Init(getPF);
|
||||
@ -532,42 +484,6 @@ namespace SystemX.Net.XAdaptor.PC
|
||||
fc = getFc;
|
||||
}
|
||||
|
||||
/*
|
||||
public XData TskCheckResult(byte nCheckLabel, long lTimeOut = COMMAND_TIME_OUT)
|
||||
{
|
||||
XData getXData = null;
|
||||
bool bWaitLabel = false;
|
||||
|
||||
if (nCheckLabel < 0 || nCheckLabel >= fc.STM.GetLabelSize())
|
||||
return getXData;
|
||||
|
||||
Stopwatch stWaitTImeWatch = new Stopwatch();
|
||||
stWaitTImeWatch.Start();
|
||||
|
||||
while (true)
|
||||
{
|
||||
if (stWaitTImeWatch.ElapsedMilliseconds >= lTimeOut)
|
||||
break;
|
||||
|
||||
if (nSignaled == 1)
|
||||
{
|
||||
getXData = fc.STM.CheckLabel(nCheckLabel, ref bWaitLabel);
|
||||
|
||||
if (bWaitLabel)
|
||||
{
|
||||
tResult = true;
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
Thread.Sleep(1);
|
||||
}
|
||||
|
||||
return getXData;
|
||||
}
|
||||
*/
|
||||
|
||||
public XData ThreadWaitResult(byte nCheckLabel, long lTimeOut = COMMAND_TIME_OUT)
|
||||
{
|
||||
XData getXData = null;
|
||||
|
||||
@ -831,13 +831,29 @@ QUERY_TESTLIST:
|
||||
// TODO : FTP ALIS
|
||||
if (LoadInfo.FTP_Use)
|
||||
{
|
||||
if(ControlFTP.FTPConnState)
|
||||
if (ControlFTP.FTPConnState == false)
|
||||
{
|
||||
string strSetSendFTPInfo = strSetBackupInfo;
|
||||
for (int n = 0; n < 3; n++)
|
||||
{
|
||||
StateFTP = StartFTPService();
|
||||
|
||||
strSetSendFTPInfo += (";" + LoadInfo.HOST_ID);
|
||||
strSetSendFTPInfo += (";" + LoadInfo.SECTION);
|
||||
//^_^
|
||||
if (StateFTP == Comm.IIS_FTP.eFTPServiceStatus.Connected)
|
||||
break;
|
||||
if (StateFTP == Comm.IIS_FTP.eFTPServiceStatus.Unused)
|
||||
break;
|
||||
if (ControlFTP.FTPConnState)
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
string strSetSendFTPInfo = strSetBackupInfo;
|
||||
|
||||
strSetSendFTPInfo += (";" + LoadInfo.HOST_ID);
|
||||
strSetSendFTPInfo += (";" + LoadInfo.SECTION);
|
||||
|
||||
if (ControlFTP.FTPConnState)
|
||||
{
|
||||
XAdaptorFileLogWrite(eSetFileLogCategory.FTPFileLog, strYYYY, strMM, strdd, strSetSendFTPInfo, strSetBackupFileName, "LogFileSend[FTP]>Try");
|
||||
|
||||
string strSetFilePos = MakeZipIncludeInfoCpLog(strSetSendFTPInfo, strSetBackupFilePos, strSetBackupFileName, ucSetBackupFileData);
|
||||
@ -848,6 +864,7 @@ QUERY_TESTLIST:
|
||||
|
||||
if (File.Exists(strSetFilePos))
|
||||
File.Delete(strSetFilePos);
|
||||
|
||||
//string strGetFileName = Path.GetFileName(strSetFilePos);
|
||||
//string ss = await ControlFTP.FileDownload(strGetFileName, @"D:\");
|
||||
|
||||
@ -857,8 +874,18 @@ QUERY_TESTLIST:
|
||||
{
|
||||
XAdaptorFileLogWrite(eSetFileLogCategory.FTPFileLog, strYYYY, strMM, strdd, strSetSendFTPInfo, strSetBackupFileName, "LogFileSend[FTP]>Result>Failed");
|
||||
XAdaptorFileLogWrite(eSetFileLogCategory.FTPFileLog, strYYYY, strMM, strdd, strSetSendFTPInfo, strSetBackupFileName, "LogFileSend[FTP]>Try By Socket");
|
||||
|
||||
//실패시 Socket File 전송
|
||||
//
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
XAdaptorFileLogWrite(eSetFileLogCategory.FTPFileLog, strYYYY, strMM, strdd, strSetSendFTPInfo, strSetBackupFileName, "LogFileSend[FTP]>Disconnect State. Please Check FTP State!");
|
||||
|
||||
//실패시 Socket File 전송
|
||||
//
|
||||
}
|
||||
}
|
||||
|
||||
try
|
||||
|
||||
@ -98,36 +98,6 @@ namespace SystemX.Net.XAdaptor.PC
|
||||
return bSetResult;
|
||||
}
|
||||
|
||||
/*
|
||||
private async void ClientCommandConnect()
|
||||
{
|
||||
dbNgCodeFinder = null;
|
||||
|
||||
ConnectCommandWaitEvent.Reset();
|
||||
StateAdaptorConnect &= ClientCommandSet(SOCKET_TYPE.TCP, false);
|
||||
|
||||
if (ConnectCommandWaitEvent.WaitOne(CONNECT_TIME_OUT))
|
||||
SetCommandWatchTask();
|
||||
else
|
||||
MessageOutput.ConsoleWrite(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss>>") + @"SystemX.Net.XAdaptor.PC Command Connect Error.[SystemX.Net.PCAdaptor : XPCAdaptor.XPCAdaptor]", ConsoleColor.Red, LogMessageLevel.DEBUG);
|
||||
|
||||
await Task.Delay(1).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
private async void ClientStreamConnect()
|
||||
{
|
||||
ConnectStreamWaitEvent.Reset();
|
||||
StateAdaptorConnect &= ClientStreamSet(SOCKET_TYPE.TCP, false);
|
||||
|
||||
if (ConnectStreamWaitEvent.WaitOne(CONNECT_TIME_OUT))
|
||||
SetStreamWatchTask();
|
||||
else
|
||||
MessageOutput.ConsoleWrite(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss>>") + @"SystemX.Net.XAdaptor.PC Stream Connect Error.[SystemX.Net.PCAdaptor : XPCAdaptor.XPCAdaptor]", ConsoleColor.Red, LogMessageLevel.DEBUG);
|
||||
|
||||
await Task.Delay(1).ConfigureAwait(false);
|
||||
}
|
||||
*/
|
||||
|
||||
private void ClearCommandClientInstance()
|
||||
{
|
||||
if (FlowCommandControl != null)
|
||||
@ -214,6 +184,10 @@ namespace SystemX.Net.XAdaptor.PC
|
||||
Random r = new Random(Guid.NewGuid().GetHashCode());
|
||||
|
||||
nPortNumber = GetDistributionPort(r, nPortNumber);
|
||||
|
||||
MessageOutput.ConsoleWrite(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss>>") +
|
||||
@"Get Distribution Port Number " + nPortNumber.ToString("D4") + " [SystemX.Net.XAdaptor.PC : ClientCommandSet]\r\n",
|
||||
ConsoleColor.Yellow, LogMessageLevel.DEBUG);
|
||||
}
|
||||
|
||||
try
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -6,12 +6,12 @@ using System.Runtime.InteropServices;
|
||||
// 제어됩니다. 어셈블리와 관련된 정보를 수정하려면
|
||||
// 이러한 특성 값을 변경하세요.
|
||||
[assembly: AssemblyTitle("SystemX.Net.XAdaptor.PC.UI")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyDescription("CPX Adaptor UI")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyCompany("SystemX")]
|
||||
[assembly: AssemblyProduct("SystemX.Net.XAdaptor.PC.UI")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2020")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCopyright("© 2025 SystemX Co., Ltd. All rights reserved.")]
|
||||
[assembly: AssemblyTrademark("CPX Adaptor UI")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// ComVisible을 false로 설정하면 이 어셈블리의 형식이 COM 구성 요소에
|
||||
@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
|
||||
// 모든 값을 지정하거나 아래와 같이 '*'를 사용하여 빌드 번호 및 수정 번호를
|
||||
// 기본값으로 할 수 있습니다.
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||
[assembly: AssemblyVersion("2025.05.15.0001")]
|
||||
[assembly: AssemblyFileVersion("2025.05.15.0001")]
|
||||
|
||||
@ -6,12 +6,12 @@ using System.Runtime.InteropServices;
|
||||
// 제어됩니다. 어셈블리와 관련된 정보를 수정하려면
|
||||
// 이러한 특성 값을 변경하세요.
|
||||
[assembly: AssemblyTitle("SystemX.Net.Platform")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyDescription("CPX Platform")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyCompany("SystemX")]
|
||||
[assembly: AssemblyProduct("SystemX.Net.Platform")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2020")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCopyright("© 2025 SystemX Co., Ltd. All rights reserved.")]
|
||||
[assembly: AssemblyTrademark("CPX Platform")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// ComVisible을 false로 설정하면 이 어셈블리의 형식이 COM 구성 요소에
|
||||
@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
|
||||
// 모든 값을 지정하거나 아래와 같이 '*'를 사용하여 빌드 번호 및 수정 번호를
|
||||
// 기본값으로 할 수 있습니다.
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||
[assembly: AssemblyVersion("2025.05.15.0001")]
|
||||
[assembly: AssemblyFileVersion("2025.05.15.0001")]
|
||||
|
||||
@ -679,23 +679,13 @@ namespace SystemX.Net.Comm
|
||||
if (nReadSize != 0)
|
||||
{
|
||||
byte[] ucFindData = new byte[1];
|
||||
//byte[] ucSetClearArray;
|
||||
|
||||
int iFindDataCnt = 0;
|
||||
|
||||
//bool bSegmentFind = false;
|
||||
bool bDataFind = false;
|
||||
|
||||
byte ucGetLabel = 0;
|
||||
|
||||
try
|
||||
{
|
||||
/*
|
||||
Array.Copy(recvBuffer, 0, recvStoreBuffer, iStoreCnt, nReadSize);
|
||||
|
||||
iStoreCnt += nReadSize;
|
||||
*/
|
||||
|
||||
if (bQueuePacketClearOn)
|
||||
{
|
||||
bQueuePacketClearOn = false;
|
||||
@ -795,90 +785,10 @@ namespace SystemX.Net.Comm
|
||||
}
|
||||
|
||||
QPacketRemainData.Clear();
|
||||
|
||||
//recvText += Encoding.Unicode.GetString(recvBuffer, 0, nReadSize);
|
||||
|
||||
/*
|
||||
for (int i = 0; i < iStoreCnt; i++)
|
||||
{
|
||||
if (recvStoreBuffer[i] == 0x0D &&
|
||||
recvStoreBuffer[i + 1] == 0x02 &&
|
||||
recvStoreBuffer[i + 6] == 0x08 &&
|
||||
recvStoreBuffer[i + 7] == 0x0A)
|
||||
{
|
||||
ucGetLabel = recvStoreBuffer[i - 1];
|
||||
|
||||
uint uiGetPacketSize = 0x0;
|
||||
|
||||
uiGetPacketSize |= (uint)(recvStoreBuffer[i + 2] << 24);
|
||||
uiGetPacketSize |= (uint)(recvStoreBuffer[i + 3] << 16);
|
||||
uiGetPacketSize |= (uint)(recvStoreBuffer[i + 4] << 8);
|
||||
uiGetPacketSize |= (uint)(recvStoreBuffer[i + 5] << 0);
|
||||
|
||||
int iGetSize = (int)uiGetPacketSize;
|
||||
|
||||
iGetSize += XCommons.PAD_SIZE;
|
||||
|
||||
if (recvStoreBuffer[i + iGetSize - 4] == 0x0D &&
|
||||
recvStoreBuffer[i + iGetSize - 3] == 0x02 &&
|
||||
recvStoreBuffer[i + iGetSize - 2] == 0x08 &&
|
||||
recvStoreBuffer[i + iGetSize - 1] == 0x0A)
|
||||
{
|
||||
iFindDataCnt = iGetSize;
|
||||
|
||||
bSegmentFind = true;
|
||||
}
|
||||
if (bSegmentFind)
|
||||
{
|
||||
iCheckRetryCnt = 0;
|
||||
|
||||
ucFindData = new byte[iFindDataCnt];
|
||||
ucSetClearArray = new byte[(iFindDataCnt + 1)];
|
||||
|
||||
Array.Clear(ucSetClearArray, 0, (iFindDataCnt + 1));
|
||||
Array.Copy(recvStoreBuffer, i, ucFindData, 0, iFindDataCnt);
|
||||
|
||||
iStoreCnt -= (iFindDataCnt + 1);
|
||||
|
||||
Buffer.BlockCopy(ucSetClearArray, 0, recvStoreBuffer, 0, (iFindDataCnt + 1));
|
||||
Buffer.BlockCopy(recvStoreBuffer, iStoreCnt, recvStoreBuffer, 0, USER_MAX_SIZE - iStoreCnt);
|
||||
|
||||
bDataFind = true;
|
||||
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
iCheckRetryCnt++;
|
||||
|
||||
if (iCheckRetryCnt > MAX_CHECK_COUNT)
|
||||
{
|
||||
iCheckRetryCnt = 0;
|
||||
|
||||
ucSetClearArray = new byte[iFindDataCnt];
|
||||
Array.Clear(ucSetClearArray, 0, iFindDataCnt);
|
||||
|
||||
iStoreCnt -= iFindDataCnt;
|
||||
|
||||
Buffer.BlockCopy(ucSetClearArray, 0, recvStoreBuffer, 0, iFindDataCnt);
|
||||
Buffer.BlockCopy(recvStoreBuffer, iStoreCnt, recvStoreBuffer, 0, USER_MAX_SIZE - iStoreCnt);
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
bDataFind = false;
|
||||
|
||||
/*
|
||||
iStoreCnt = 0;
|
||||
|
||||
if(recvStoreBuffer != null) Array.Clear(recvStoreBuffer, 0, recvStoreBuffer.Count());
|
||||
*/
|
||||
}
|
||||
|
||||
if (bDataFind)
|
||||
|
||||
@ -610,23 +610,13 @@ namespace SystemX.Net.Comm
|
||||
if (nReadSize != 0)
|
||||
{
|
||||
byte[] ucFindData = new byte[1];
|
||||
//byte[] ucSetClearArray;
|
||||
|
||||
int iFindDataCnt = 0;
|
||||
|
||||
//bool bSegmentFind = false;
|
||||
bool bDataFind = false;
|
||||
|
||||
byte ucGetLabel = 0;
|
||||
|
||||
try
|
||||
{
|
||||
/*
|
||||
Array.Copy(recvBuffer, 0, recvStoreBuffer, iStoreCnt, nReadSize);
|
||||
|
||||
iStoreCnt += nReadSize;
|
||||
*/
|
||||
|
||||
if (bQueuePacketClearOn)
|
||||
{
|
||||
bQueuePacketClearOn = false;
|
||||
@ -726,90 +716,10 @@ namespace SystemX.Net.Comm
|
||||
}
|
||||
|
||||
QPacketRemainData.Clear();
|
||||
|
||||
//recvText += Encoding.Unicode.GetString(recvBuffer, 0, nReadSize);
|
||||
|
||||
/*
|
||||
for (int i = 0; i < iStoreCnt; i++)
|
||||
{
|
||||
if (recvStoreBuffer[i] == 0x0D &&
|
||||
recvStoreBuffer[i + 1] == 0x02 &&
|
||||
recvStoreBuffer[i + 6] == 0x08 &&
|
||||
recvStoreBuffer[i + 7] == 0x0A)
|
||||
{
|
||||
ucGetLabel = recvStoreBuffer[i - 1];
|
||||
|
||||
uint uiGetPacketSize = 0x0;
|
||||
|
||||
uiGetPacketSize |= (uint)(recvStoreBuffer[i + 2] << 24);
|
||||
uiGetPacketSize |= (uint)(recvStoreBuffer[i + 3] << 16);
|
||||
uiGetPacketSize |= (uint)(recvStoreBuffer[i + 4] << 8);
|
||||
uiGetPacketSize |= (uint)(recvStoreBuffer[i + 5] << 0);
|
||||
|
||||
int iGetSize = (int)uiGetPacketSize;
|
||||
|
||||
iGetSize += XCommons.PAD_SIZE;
|
||||
|
||||
if (recvStoreBuffer[i + iGetSize - 4] == 0x0D &&
|
||||
recvStoreBuffer[i + iGetSize - 3] == 0x02 &&
|
||||
recvStoreBuffer[i + iGetSize - 2] == 0x08 &&
|
||||
recvStoreBuffer[i + iGetSize - 1] == 0x0A)
|
||||
{
|
||||
iFindDataCnt = iGetSize;
|
||||
|
||||
bSegmentFind = true;
|
||||
}
|
||||
if (bSegmentFind)
|
||||
{
|
||||
iCheckRetryCnt = 0;
|
||||
|
||||
ucFindData = new byte[iFindDataCnt];
|
||||
ucSetClearArray = new byte[(iFindDataCnt + 1)];
|
||||
|
||||
Array.Clear(ucSetClearArray, 0, (iFindDataCnt + 1));
|
||||
Array.Copy(recvStoreBuffer, i, ucFindData, 0, iFindDataCnt);
|
||||
|
||||
iStoreCnt -= (iFindDataCnt + 1);
|
||||
|
||||
Buffer.BlockCopy(ucSetClearArray, 0, recvStoreBuffer, 0, (iFindDataCnt + 1));
|
||||
Buffer.BlockCopy(recvStoreBuffer, iStoreCnt, recvStoreBuffer, 0, USER_MAX_SIZE - iStoreCnt);
|
||||
|
||||
bDataFind = true;
|
||||
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
iCheckRetryCnt++;
|
||||
|
||||
if (iCheckRetryCnt > MAX_CHECK_COUNT)
|
||||
{
|
||||
iCheckRetryCnt = 0;
|
||||
|
||||
ucSetClearArray = new byte[iFindDataCnt];
|
||||
Array.Clear(ucSetClearArray, 0, iFindDataCnt);
|
||||
|
||||
iStoreCnt -= iFindDataCnt;
|
||||
|
||||
Buffer.BlockCopy(ucSetClearArray, 0, recvStoreBuffer, 0, iFindDataCnt);
|
||||
Buffer.BlockCopy(recvStoreBuffer, iStoreCnt, recvStoreBuffer, 0, USER_MAX_SIZE - iStoreCnt);
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
bDataFind = false;
|
||||
|
||||
/*
|
||||
iStoreCnt = 0;
|
||||
|
||||
if (recvStoreBuffer != null) Array.Clear(recvStoreBuffer, 0, recvStoreBuffer.Count());
|
||||
*/
|
||||
}
|
||||
|
||||
if (bDataFind)
|
||||
|
||||
@ -721,20 +721,12 @@ namespace SystemX.Net.Comm
|
||||
byte[] ucSetClearArray;
|
||||
|
||||
int iFindDataCnt = 0;
|
||||
|
||||
bool bSegmentFind = false;
|
||||
bool bDataFind = false;
|
||||
|
||||
byte ucGetLabel = 0;
|
||||
|
||||
try
|
||||
{
|
||||
/*
|
||||
Array.Copy(recvBuffer, 0, recvStoreBuffer, iStoreCnt, nReadSize);
|
||||
|
||||
iStoreCnt += nReadSize;
|
||||
*/
|
||||
|
||||
if(bQueuePacketClearOn)
|
||||
{
|
||||
bQueuePacketClearOn = false;
|
||||
@ -834,90 +826,10 @@ namespace SystemX.Net.Comm
|
||||
}
|
||||
|
||||
QPacketRemainData.Clear();
|
||||
|
||||
//recvText += Encoding.Unicode.GetString(recvBuffer, 0, nReadSize);
|
||||
|
||||
/*
|
||||
for (int i = 0; i < iStoreCnt; i++)
|
||||
{
|
||||
if (recvStoreBuffer[i] == 0x0D &&
|
||||
recvStoreBuffer[i + 1] == 0x02 &&
|
||||
recvStoreBuffer[i + 6] == 0x08 &&
|
||||
recvStoreBuffer[i + 7] == 0x0A)
|
||||
{
|
||||
ucGetLabel = recvStoreBuffer[i - 1];
|
||||
|
||||
uint uiGetPacketSize = 0x0;
|
||||
|
||||
uiGetPacketSize |= (uint)(recvStoreBuffer[i + 2] << 24);
|
||||
uiGetPacketSize |= (uint)(recvStoreBuffer[i + 3] << 16);
|
||||
uiGetPacketSize |= (uint)(recvStoreBuffer[i + 4] << 8);
|
||||
uiGetPacketSize |= (uint)(recvStoreBuffer[i + 5] << 0);
|
||||
|
||||
int iGetSize = (int)uiGetPacketSize;
|
||||
|
||||
iGetSize += XCommons.PAD_SIZE;
|
||||
|
||||
if (recvStoreBuffer[i + iGetSize - 4] == 0x0D &&
|
||||
recvStoreBuffer[i + iGetSize - 3] == 0x02 &&
|
||||
recvStoreBuffer[i + iGetSize - 2] == 0x08 &&
|
||||
recvStoreBuffer[i + iGetSize - 1] == 0x0A)
|
||||
{
|
||||
iFindDataCnt = iGetSize;
|
||||
|
||||
bSegmentFind = true;
|
||||
}
|
||||
if (bSegmentFind)
|
||||
{
|
||||
iCheckRetryCnt = 0;
|
||||
|
||||
ucFindData = new byte[iFindDataCnt];
|
||||
ucSetClearArray = new byte[(iFindDataCnt + 1)];
|
||||
|
||||
Array.Clear(ucSetClearArray, 0, (iFindDataCnt + 1));
|
||||
Array.Copy(recvStoreBuffer, i, ucFindData, 0, iFindDataCnt);
|
||||
|
||||
iStoreCnt -= (iFindDataCnt + 1);
|
||||
|
||||
Buffer.BlockCopy(ucSetClearArray, 0, recvStoreBuffer, 0, (iFindDataCnt + 1));
|
||||
Buffer.BlockCopy(recvStoreBuffer, iStoreCnt, recvStoreBuffer, 0, USER_MAX_SIZE - iStoreCnt);
|
||||
|
||||
bDataFind = true;
|
||||
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
iCheckRetryCnt++;
|
||||
|
||||
if (iCheckRetryCnt > MAX_CHECK_COUNT)
|
||||
{
|
||||
iCheckRetryCnt = 0;
|
||||
|
||||
ucSetClearArray = new byte[iFindDataCnt];
|
||||
Array.Clear(ucSetClearArray, 0, iFindDataCnt);
|
||||
|
||||
iStoreCnt -= iFindDataCnt;
|
||||
|
||||
Buffer.BlockCopy(ucSetClearArray, 0, recvStoreBuffer, 0, iFindDataCnt);
|
||||
Buffer.BlockCopy(recvStoreBuffer, iStoreCnt, recvStoreBuffer, 0, USER_MAX_SIZE - iStoreCnt);
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
bDataFind = false;
|
||||
|
||||
/*
|
||||
iStoreCnt = 0;
|
||||
|
||||
if (recvStoreBuffer != null) Array.Clear(recvStoreBuffer, 0, recvStoreBuffer.Count());
|
||||
*/
|
||||
}
|
||||
//
|
||||
if (bDataFind)
|
||||
|
||||
@ -6,12 +6,12 @@ using System.Runtime.InteropServices;
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
[assembly: AssemblyTitle("SystemX.PLC")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyDescription("CPX PLC")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyCompany("SystemX")]
|
||||
[assembly: AssemblyProduct("SystemX.PLC")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2020")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCopyright("© 2025 SystemX Co., Ltd. All rights reserved.")]
|
||||
[assembly: AssemblyTrademark("CPX PLC")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// Setting ComVisible to false makes the types in this assembly not visible
|
||||
@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
|
||||
// You can specify all the values or you can default the Build and Revision Numbers
|
||||
// by using the '*' as shown below:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||
[assembly: AssemblyVersion("2025.05.15.0001")]
|
||||
[assembly: AssemblyFileVersion("2025.05.15.0001")]
|
||||
|
||||
@ -6,12 +6,12 @@ using System.Runtime.InteropServices;
|
||||
// 제어됩니다. 어셈블리와 관련된 정보를 수정하려면
|
||||
// 이러한 특성 값을 변경하세요.
|
||||
[assembly: AssemblyTitle("SystemX.XEFCore")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyDescription("CPX XEFCore")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyCompany("SystemX")]
|
||||
[assembly: AssemblyProduct("SystemX.XEFCore")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2024")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCopyright("© 2025 SystemX Co., Ltd. All rights reserved.")]
|
||||
[assembly: AssemblyTrademark("CPX XEFCore")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// ComVisible을 false로 설정하면 이 어셈블리의 형식이 COM 구성 요소에
|
||||
@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
|
||||
// 모든 값을 지정하거나 아래와 같이 '*'를 사용하여 빌드 번호 및 수정 번호를
|
||||
// 기본값으로 할 수 있습니다.
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||
[assembly: AssemblyVersion("2025.05.15.0001")]
|
||||
[assembly: AssemblyFileVersion("2025.05.15.0001")]
|
||||
|
||||
Reference in New Issue
Block a user