2.34 close com at end , also MK2

This commit is contained in:
Luc Vandenbroucke 2024-10-14 07:51:22 +02:00
parent b2fab73efd
commit 755ce90691
9 changed files with 56 additions and 43 deletions

View file

@ -123,20 +123,21 @@ int EpdBase::Epd2U::Open(DWORD DeviceID)
else { OpenRV = ConRV = 1; rv = 0; } else { OpenRV = ConRV = 1; rv = 0; }
return rv; return rv;
} }
void EpdBase::Epd2U::Close() void EpdBase::Epd2U::Close(WORD doEndCom)
{ {
if (port > 0 && CurrentDeviceID>0) CloseDevice(); if (port > 0 && CurrentDeviceID>0) CloseDevice();
CurrentDeviceID = 0; CurrentDeviceID = 0;
FlushBuffers(port); FlushBuffers(port);
if (doEndCom) EndCom();
} }
int EpdBase::Epd2U::CloseAndSignal(WORD EndSessionControl, WORD duration) int EpdBase::Epd2U::CloseAndSignal(WORD EndSessionControl, WORD duration, WORD doEndCom)
{ {
int rv = 0; int rv = 0;
WORD r; WORD r;
Sleep(250); Sleep(250);
r = EndSession(EndSessionControl, duration); r = EndSession(EndSessionControl, duration);
if (r == 1) rv = 0; else rv = 1; if (r == 1) rv = 0; else rv = 1;
Close(); Close( doEndCom);
return rv; return rv;
} }
void EpdBase::Epd2U::DecodeFunctionFlags() void EpdBase::Epd2U::DecodeFunctionFlags()
@ -496,7 +497,7 @@ WORD EpdBase::Epd2U::PrepareForIssue()
/// DeIssue and close /// DeIssue and close
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
WORD EpdBase::Epd2U::DeIssue() WORD EpdBase::Epd2U::DeIssue(WORD doEndCom)
{ {
int rv = 0; int rv = 0;
ClearDoseRV = ClearTotalDoseRV = ClearPeakRatesRV = DeIssueEpdRV = 0; ClearDoseRV = ClearTotalDoseRV = ClearPeakRatesRV = DeIssueEpdRV = 0;
@ -520,14 +521,14 @@ WORD EpdBase::Epd2U::DeIssue()
} }
if (CommitRV ) { if (CommitRV ) {
CloseAndSignal(EndSessionControl, 12); CloseAndSignal(EndSessionControl, 12, doEndCom);
rv = 0; rv = 0;
} }
else else
{ {
FlushBuffers(port); FlushBuffers(port);
Error = GetErrorDetails(&ErrorSource, &ErrorReason, &ErrorData); Error = GetErrorDetails(&ErrorSource, &ErrorReason, &ErrorData);
CloseAndSignal(EndSessionControl, 40); CloseAndSignal(EndSessionControl, 40,doEndCom);
rv = ErrorReason; rv = ErrorReason;
} }
return rv; return rv;
@ -536,7 +537,7 @@ WORD EpdBase::Epd2U::DeIssue()
/// ///
/// </summary> /// </summary>
/// <returns>O = OK</returns> /// <returns>O = OK</returns>
WORD EpdBase::Epd2U::Issue() WORD EpdBase::Epd2U::Issue(WORD doEndCom)
{ {
int rv=0; int rv=0;
IssueEpdRV = WriteAlarmDoseThresholdsRV = WriteAlarmRateThresholdsRV = WriteWearerNameRV = OnRV = CommitRV = 0; IssueEpdRV = WriteAlarmDoseThresholdsRV = WriteAlarmRateThresholdsRV = WriteWearerNameRV = OnRV = CommitRV = 0;
@ -569,35 +570,40 @@ WORD EpdBase::Epd2U::Issue()
OKRV = Commit(); OKRV = Commit();
if (!VersionOK) Sleep(1500); if (!VersionOK) Sleep(1500);
} }
CloseAndSignal(EndSessionControl, 12); CloseAndSignal(EndSessionControl, 12, doEndCom);
rv = 0; rv = 0;
} }
else else
{ {
FlushBuffers(port); FlushBuffers(port);
Error = GetErrorDetails(&ErrorSource, &ErrorReason, &ErrorData); Error = GetErrorDetails(&ErrorSource, &ErrorReason, &ErrorData);
CloseAndSignal(EndSessionControl, 40); CloseAndSignal(EndSessionControl, 40, doEndCom);
rv = 1; rv = 1;
} }
return rv; return rv;
} }
//main exit function
//does endcom at end
int EpdBase::Epd2U::GetAllDeissue() int EpdBase::Epd2U::GetAllDeissue()
{ {
int rv = 0; int rv = 0;
rv = ReadDoses(); //0 = success rv = ReadDoses(); //0 = success
//rv = ReadTresHolds(); //tresholds not needed, only doses //rv = ReadTresHolds(); //tresholds not needed, only doses
rv = EPDReadExtraStatus(); rv = EPDReadExtraStatus();
rv = DeIssue(); //does close rv = DeIssue(true); //does close
return rv; return rv;
} }
//main get dos function
//does endcom at end
int EpdBase::Epd2U::GetAll(bool Closeconnection) int EpdBase::Epd2U::GetAll(bool Closeconnection)
{ {
int rv = 0; int rv = 0;
rv = ReadDoses(); //0 = success rv = ReadDoses(); //0 = success
rv = ReadTresHolds(); //0 = success Tresholds needed rv = ReadTresHolds(); //0 = success Tresholds needed
if (Closeconnection) Close(); if (Closeconnection) Close(1);
return rv; return rv;
} }
@ -622,6 +628,8 @@ int EpdBase::Epd2U::ConnectAndStatus(int tokenSourceTimeoutms)
return rv; return rv;
} }
// main EPD-issue function
// does endcom at the end
int EpdBase::Epd2U::IssueAndCheck(float gain) int EpdBase::Epd2U::IssueAndCheck(float gain)
{ {
//chirp not supported //chirp not supported
@ -638,7 +646,7 @@ int EpdBase::Epd2U::IssueAndCheck(float gain)
} }
} }
rv = PrepareForIssue(); rv = PrepareForIssue();
rv = Issue(); // data already loaded rv = Issue(true); // data already loaded
return rv; return rv;
error: error:
return rv; return rv;

View file

@ -220,8 +220,8 @@ namespace EpdBase
BYTE ConnectTimerFired; BYTE ConnectTimerFired;
int StartDiscover(int EpdTimeout); int StartDiscover(int EpdTimeout);
int Open(DWORD DeviceID); int Open(DWORD DeviceID);
void Close(); void Close(WORD doEndCom);
int CloseAndSignal(WORD EndSessionControl, WORD duration); int CloseAndSignal(WORD EndSessionControl, WORD duration, WORD doEndCom);
void DecodeFunctionFlags(); void DecodeFunctionFlags();
void DecodeStatus(); void DecodeStatus();
@ -244,8 +244,8 @@ namespace EpdBase
WORD ClearAlarms(); WORD ClearAlarms();
WORD PrepareForIssue(); WORD PrepareForIssue();
WORD DeIssue(); WORD DeIssue(WORD doEndCom);
WORD Issue(); WORD Issue(WORD doEndCom);
int GetAll(bool Close); int GetAll(bool Close);
int GetAllDeissue(); int GetAllDeissue();
~Epd2U(); ~Epd2U();

View file

@ -1532,6 +1532,8 @@ error:
return r; return r;
} }
//main get dose function
//close com at end
int Epd3Base::Epd3U::GetAll(bool Closeconnection) int Epd3Base::Epd3U::GetAll(bool Closeconnection)
{ {
int rv = 0, step = 1; int rv = 0, step = 1;
@ -1543,6 +1545,7 @@ int Epd3Base::Epd3U::GetAll(bool Closeconnection)
} }
// Main entry point deissue for MK3 // Main entry point deissue for MK3
// close com at then
int Epd3Base::Epd3U::GetAllDeissue(bool reconnect) int Epd3Base::Epd3U::GetAllDeissue(bool reconnect)
{ {
int rv = 0; int rv = 0;
@ -1562,18 +1565,19 @@ int Epd3Base::Epd3U::GetAllDeissue(bool reconnect)
step = 3; step = 3;
rv = DeIssue(); //does close rv = DeIssue(); //does close
if (rv) goto error;
EndCom(isConnected); EndCom(isConnected);
if (rv) goto error;
return rv; return rv;
error: error:
EndCom(isConnected);
Error = rv; Error = rv;
ErrorStep = step; ErrorStep = step;
return rv; return rv;
} }
// main issue routine // main issue routine
// cloise com at end
int Epd3Base::Epd3U::IssueAndCheck(float gain, float ChirpRate) int Epd3Base::Epd3U::IssueAndCheck(float gain, float ChirpRate)
{ {
int rv = 0; int rv = 0;
@ -1633,17 +1637,14 @@ int Epd3Base::Epd3U::IssueAndCheck(float gain, float ChirpRate)
step = 5; step = 5;
rv = Issue(true); // data already loaded rv = Issue(true); // data already loaded
if (rv) goto error;
//debug
/*rv = 1; EPDIssued = 0; goto error;*/
EndCom(isConnected); EndCom(isConnected);
if (rv) goto error;
return rv; return rv;
error: error:
EndCom(isConnected);
Error = rv; Error = rv;
ErrorStep = step; ErrorStep = step;
return rv; return rv;

View file

@ -6,11 +6,8 @@
</sectionGroup> </sectionGroup>
</configSections> </configSections>
<connectionStrings> <connectionStrings>
<add name="eDosStation.Properties.Settings.localConnectionString" <add name="eDosStation.Properties.Settings.localConnectionString" connectionString="Data Source=eDosLocal;Initial Catalog=eDosLocal;User ID=eDosStation;Password=Infopla+8;TrustServerCertificate=True;Application Name=eDosStation" providerName="System.Data.SqlClient" />
connectionString="Data Source=eDosLocal;Initial Catalog=eDosLocal;User ID=eDosStation;Password=Infopla+8;TrustServerCertificate=True;Application Name=eDosStation" <add name="eDosConnectionString" connectionString="Data Source=eDos;Initial Catalog=eDos;User ID=eDosStation;Password=Infopla+8;TrustServerCertificate=True;Application Name=eDosStation" providerName="System.Data.SqlClient" />
providerName="System.Data.SqlClient" />
<add name="eDosConnectionString" connectionString="Data Source=eDos;Initial Catalog=eDos;User ID=eDosStation;Password=Infopla+8;TrustServerCertificate=True;Application Name=eDosStation"
providerName="System.Data.SqlClient" />
</connectionStrings> </connectionStrings>
<startup> <startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8" /> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8" />

View file

@ -62,5 +62,6 @@ using System.Windows;
//2.30 check reset voor OF na EPD verbinding //2.30 check reset voor OF na EPD verbinding
//2.31 extra disconnect/connect //2.31 extra disconnect/connect
//2.32 VS2022 //2.32 VS2022
[assembly: AssemblyVersion("2.33.0.0")] //2.34 close com at end , also MK2
[assembly: AssemblyFileVersion("2.33.0.0")] [assembly: AssemblyVersion("2.34.0.0")]
[assembly: AssemblyFileVersion("2.34.0.0")]

View file

@ -1 +1 @@
Fri 09/13/2024 15:19:32.68 Mon 10/14/2024 7:50:24.36

View file

@ -44,7 +44,6 @@ namespace eDosStation
} }
else else
{ {
SetTimedOutAndEnd(); SetTimedOutAndEnd();
} }
} }

View file

@ -91,8 +91,8 @@
<ApplicationManifest>app.manifest</ApplicationManifest> <ApplicationManifest>app.manifest</ApplicationManifest>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<Reference Include="LSWLib, Version=4.0.24.0, Culture=neutral, processorArchitecture=MSIL"> <Reference Include="LSWLib, Version=4.0.25.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\LSWLib2.4.0.25\lib\net48\LSWLib.dll</HintPath> <HintPath>..\packages\LSWLib2.4.0.26\lib\net48\LSWLib.dll</HintPath>
</Reference> </Reference>
<Reference Include="Microsoft.Win32.Registry, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> <Reference Include="Microsoft.Win32.Registry, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Win32.Registry.5.0.0\lib\net461\Microsoft.Win32.Registry.dll</HintPath> <HintPath>..\packages\Microsoft.Win32.Registry.5.0.0\lib\net461\Microsoft.Win32.Registry.dll</HintPath>
@ -138,7 +138,10 @@
<Reference Include="System.DirectoryServices.Protocols" /> <Reference Include="System.DirectoryServices.Protocols" />
<Reference Include="System.Drawing" /> <Reference Include="System.Drawing" />
<Reference Include="System.Drawing.Common, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL"> <Reference Include="System.Drawing.Common, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Drawing.Common.8.0.4\lib\net462\System.Drawing.Common.dll</HintPath> <HintPath>..\packages\System.Drawing.Common.8.0.8\lib\net462\System.Drawing.Common.dll</HintPath>
</Reference>
<Reference Include="System.Formats.Asn1, Version=8.0.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Formats.Asn1.8.0.1\lib\net462\System.Formats.Asn1.dll</HintPath>
</Reference> </Reference>
<Reference Include="System.IdentityModel" /> <Reference Include="System.IdentityModel" />
<Reference Include="System.IO, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> <Reference Include="System.IO, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
@ -171,7 +174,6 @@
<Reference Include="System.Runtime, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> <Reference Include="System.Runtime, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Runtime.4.3.0\lib\net462\System.Runtime.dll</HintPath> <HintPath>..\packages\System.Runtime.4.3.0\lib\net462\System.Runtime.dll</HintPath>
<Private>True</Private> <Private>True</Private>
<Private>True</Private>
</Reference> </Reference>
<Reference Include="System.Runtime.Caching" /> <Reference Include="System.Runtime.Caching" />
<Reference Include="System.Runtime.CompilerServices.Unsafe, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> <Reference Include="System.Runtime.CompilerServices.Unsafe, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
@ -206,8 +208,8 @@
<Reference Include="System.Security.Cryptography.ProtectedData, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> <Reference Include="System.Security.Cryptography.ProtectedData, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Security.Cryptography.ProtectedData.8.0.0\lib\net462\System.Security.Cryptography.ProtectedData.dll</HintPath> <HintPath>..\packages\System.Security.Cryptography.ProtectedData.8.0.0\lib\net462\System.Security.Cryptography.ProtectedData.dll</HintPath>
</Reference> </Reference>
<Reference Include="System.Security.Cryptography.Xml, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL"> <Reference Include="System.Security.Cryptography.Xml, Version=8.0.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Security.Cryptography.Xml.8.0.0\lib\net462\System.Security.Cryptography.Xml.dll</HintPath> <HintPath>..\packages\System.Security.Cryptography.Xml.8.0.1\lib\net462\System.Security.Cryptography.Xml.dll</HintPath>
</Reference> </Reference>
<Reference Include="System.Security.Permissions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL"> <Reference Include="System.Security.Permissions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Security.Permissions.8.0.0\lib\net462\System.Security.Permissions.dll</HintPath> <HintPath>..\packages\System.Security.Permissions.8.0.0\lib\net462\System.Security.Permissions.dll</HintPath>
@ -246,6 +248,9 @@
<HintPath>..\packages\System.Threading.AccessControl.8.0.0\lib\net462\System.Threading.AccessControl.dll</HintPath> <HintPath>..\packages\System.Threading.AccessControl.8.0.0\lib\net462\System.Threading.AccessControl.dll</HintPath>
</Reference> </Reference>
<Reference Include="System.Transactions" /> <Reference Include="System.Transactions" />
<Reference Include="System.ValueTuple, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.ValueTuple.4.5.0\lib\net47\System.ValueTuple.dll</HintPath>
</Reference>
<Reference Include="System.Web.Extensions" /> <Reference Include="System.Web.Extensions" />
<Reference Include="System.Web.Services" /> <Reference Include="System.Web.Services" />
<Reference Include="System.Web.Services.Description, Version=4.10.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> <Reference Include="System.Web.Services.Description, Version=4.10.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">

View file

@ -1,12 +1,12 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<packages> <packages>
<package id="LSWDesfirePublic" version="1.3.9" targetFramework="net48" /> <package id="LSWDesfirePublic" version="1.3.9" targetFramework="net48" />
<package id="LSWLib2" version="4.0.25" targetFramework="net48" /> <package id="LSWLib2" version="4.0.26" targetFramework="net48" />
<package id="Microsoft.VisualStudio.SlowCheetah" version="4.0.50" targetFramework="net48" developmentDependency="true" /> <package id="Microsoft.VisualStudio.SlowCheetah" version="4.0.50" targetFramework="net48" developmentDependency="true" />
<package id="Microsoft.Win32.Registry" version="5.0.0" targetFramework="net48" /> <package id="Microsoft.Win32.Registry" version="5.0.0" targetFramework="net48" />
<package id="Microsoft.Win32.Registry.AccessControl" version="8.0.0" targetFramework="net48" /> <package id="Microsoft.Win32.Registry.AccessControl" version="8.0.0" targetFramework="net48" />
<package id="Microsoft.Win32.SystemEvents" version="8.0.0" targetFramework="net48" /> <package id="Microsoft.Win32.SystemEvents" version="8.0.0" targetFramework="net48" />
<package id="Microsoft.Windows.Compatibility" version="8.0.4" targetFramework="net48" /> <package id="Microsoft.Windows.Compatibility" version="8.0.8" targetFramework="net48" />
<package id="SharpDX" version="4.2.0" targetFramework="net48" /> <package id="SharpDX" version="4.2.0" targetFramework="net48" />
<package id="SharpDX.D3DCompiler" version="4.2.0" targetFramework="net48" /> <package id="SharpDX.D3DCompiler" version="4.2.0" targetFramework="net48" />
<package id="SharpDX.Direct2D1" version="4.2.0" targetFramework="net48" /> <package id="SharpDX.Direct2D1" version="4.2.0" targetFramework="net48" />
@ -26,7 +26,8 @@
<package id="System.DirectoryServices" version="8.0.0" targetFramework="net48" /> <package id="System.DirectoryServices" version="8.0.0" targetFramework="net48" />
<package id="System.DirectoryServices.AccountManagement" version="8.0.0" targetFramework="net48" /> <package id="System.DirectoryServices.AccountManagement" version="8.0.0" targetFramework="net48" />
<package id="System.DirectoryServices.Protocols" version="8.0.0" targetFramework="net48" /> <package id="System.DirectoryServices.Protocols" version="8.0.0" targetFramework="net48" />
<package id="System.Drawing.Common" version="8.0.4" targetFramework="net48" /> <package id="System.Drawing.Common" version="8.0.8" targetFramework="net48" />
<package id="System.Formats.Asn1" version="8.0.1" targetFramework="net48" />
<package id="System.IO" version="4.3.0" targetFramework="net48" /> <package id="System.IO" version="4.3.0" targetFramework="net48" />
<package id="System.IO.FileSystem.AccessControl" version="5.0.0" targetFramework="net48" /> <package id="System.IO.FileSystem.AccessControl" version="5.0.0" targetFramework="net48" />
<package id="System.IO.Packaging" version="8.0.0" targetFramework="net48" /> <package id="System.IO.Packaging" version="8.0.0" targetFramework="net48" />
@ -49,7 +50,7 @@
<package id="System.Security.Cryptography.Pkcs" version="8.0.0" targetFramework="net48" /> <package id="System.Security.Cryptography.Pkcs" version="8.0.0" targetFramework="net48" />
<package id="System.Security.Cryptography.Primitives" version="4.3.0" targetFramework="net48" /> <package id="System.Security.Cryptography.Primitives" version="4.3.0" targetFramework="net48" />
<package id="System.Security.Cryptography.ProtectedData" version="8.0.0" targetFramework="net48" /> <package id="System.Security.Cryptography.ProtectedData" version="8.0.0" targetFramework="net48" />
<package id="System.Security.Cryptography.Xml" version="8.0.0" targetFramework="net48" /> <package id="System.Security.Cryptography.Xml" version="8.0.1" targetFramework="net48" />
<package id="System.Security.Permissions" version="8.0.0" targetFramework="net48" /> <package id="System.Security.Permissions" version="8.0.0" targetFramework="net48" />
<package id="System.Security.Principal.Windows" version="5.0.0" targetFramework="net48" /> <package id="System.Security.Principal.Windows" version="5.0.0" targetFramework="net48" />
<package id="System.ServiceModel.Duplex" version="4.10.0" targetFramework="net48" /> <package id="System.ServiceModel.Duplex" version="4.10.0" targetFramework="net48" />
@ -62,6 +63,7 @@
<package id="System.Speech" version="8.0.0" targetFramework="net48" /> <package id="System.Speech" version="8.0.0" targetFramework="net48" />
<package id="System.Text.Encoding.CodePages" version="8.0.0" targetFramework="net48" /> <package id="System.Text.Encoding.CodePages" version="8.0.0" targetFramework="net48" />
<package id="System.Threading.AccessControl" version="8.0.0" targetFramework="net48" /> <package id="System.Threading.AccessControl" version="8.0.0" targetFramework="net48" />
<package id="System.ValueTuple" version="4.5.0" targetFramework="net48" />
<package id="System.Web.Services.Description" version="4.10.0" targetFramework="net48" /> <package id="System.Web.Services.Description" version="4.10.0" targetFramework="net48" />
<package id="Telerik.Windows.Controls.for.Wpf.Xaml" version="2024.1.423" targetFramework="net48" /> <package id="Telerik.Windows.Controls.for.Wpf.Xaml" version="2024.1.423" targetFramework="net48" />
<package id="Telerik.Windows.Controls.GridView.for.Wpf.Xaml" version="2024.1.423" targetFramework="net48" /> <package id="Telerik.Windows.Controls.GridView.for.Wpf.Xaml" version="2024.1.423" targetFramework="net48" />