diff --git a/.gitignore b/.gitignore index 0021e08..878492f 100644 --- a/.gitignore +++ b/.gitignore @@ -28,3 +28,5 @@ SteamServerBrowser.sdf SteamServerBrowser*.zip .vs/config/applicationhost.config /.vs/ +/bin/ +/QueryMaster/bin/ diff --git a/CreateDistribZip.cmd b/CreateDistribZip.cmd index 1b0e000..fb974df 100644 --- a/CreateDistribZip.cmd +++ b/CreateDistribZip.cmd @@ -1,4 +1,7 @@ @echo off +setlocal +setlocal enabledelayedexpansion + cd /d %~dp0 set cwd=%cd% set curdate=%date:~6,4%-%date:~3,2%-%date:~0,2% @@ -6,11 +9,26 @@ set target=%cd%\SteamServerBrowser mkdir "%target%" 2>nul del /s /q "%target%\*" -cd "%cwd%\ServerBrowser\bin\x86\Release" +rem find signtool.exe +for /d %%f in ("C:\Program Files (x86)\Windows Kits\10\bin\10.*") do ( + set nq=%%f + set nq=!nq:"=! + set signtool="!nq!\x86\signtool.exe" + if exist !signtool! goto foundSigntool +) + +echo "can't find signtool.exe" +pause +goto :eof +:foundSigntool + + +cd "%cwd%\bin\Release" copy ServerBrowser.exe "%target%" copy QueryMaster.dll "%target%" copy Ionic.BZip2.dll "%target%" copy steam_api.dll "%target%" +copy steam_api64.dll "%target%" rem del "DevExpress*Rich*" rem del "DevExpress*Office*" @@ -33,17 +51,18 @@ goto :eof @echo off + + :CodeSigning rem ----------------------------- rem If you want to digitally sign the generated .exe and .dll files, rem you need to have your code signing certificate installed in the Windows certificate storage rem ----------------------------- -set signtool="C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\x86\signtool.exe" set files=ServerBrowser.exe QueryMaster.dll if not exist %signtool% ( echo %signtool% not found pause exit /b 1 ) -%signtool% sign /a /t "http://timestamp.digicert.com" %files% -goto :eof \ No newline at end of file +%signtool% sign /n "ABPro Entwicklungs-, Vertriebs- und Wartungs GmbH" /t "http://timestamp.digicert.com" %files% +goto :eof diff --git a/QueryMaster/QueryMaster/MasterQuery.cs b/QueryMaster/QueryMaster/MasterQuery.cs index e0420ce..c95f5ac 100644 --- a/QueryMaster/QueryMaster/MasterQuery.cs +++ b/QueryMaster/QueryMaster/MasterQuery.cs @@ -3,6 +3,7 @@ using System.Linq; using System.Text; using System.Net; +using System.Net.Sockets; namespace QueryMaster { @@ -14,11 +15,11 @@ public class MasterQuery /// /// Master server for Gold Source games /// - public static IPEndPoint GoldSrcServer = new IPEndPoint(Dns.GetHostAddresses("hl1master.steampowered.com")[0], 27011); + public static IPEndPoint GoldSrcServer = new IPEndPoint(Dns.GetHostAddresses("hl1master.steampowered.com").First(h => h.AddressFamily == AddressFamily.InterNetwork), 27011); /// /// Master server for Source games /// - public static IPEndPoint SourceServer = new IPEndPoint(Dns.GetHostAddresses("hl2master.steampowered.com")[0], 27011); + public static IPEndPoint SourceServer = new IPEndPoint(Dns.GetHostAddresses("hl2master.steampowered.com").First(h => h.AddressFamily == AddressFamily.InterNetwork), 27011); /// /// Gets the appropriate masterserver query instance /// diff --git a/QueryMaster/QueryMaster/MasterServerUdp.cs b/QueryMaster/QueryMaster/MasterServerUdp.cs index 5d24f4a..fa199ce 100644 --- a/QueryMaster/QueryMaster/MasterServerUdp.cs +++ b/QueryMaster/QueryMaster/MasterServerUdp.cs @@ -64,7 +64,8 @@ public override void GetAddresses(Region region, MasterIpCallback callback, IpFi ThreadPool.QueueUserWorkItem(y => callback(new ReadOnlyCollection>(serverList), null, !atEnd)); totalCount += endpoints.Count; - atEnd |= totalCount >= GetAddressesLimit; + if (GetAddressesLimit != 0) + atEnd |= totalCount >= GetAddressesLimit; } //while (!nextSeed.Equals(SeedEndpoint) && totalCount < GetAddressesLimit); } catch (Exception ex) diff --git a/QueryMaster/QueryMaster/MasterServerWebApi.cs b/QueryMaster/QueryMaster/MasterServerWebApi.cs index 4dc8367..5e36e4b 100644 --- a/QueryMaster/QueryMaster/MasterServerWebApi.cs +++ b/QueryMaster/QueryMaster/MasterServerWebApi.cs @@ -50,7 +50,12 @@ public class Response /// public class MasterServerWebApi : MasterServer { - const string SteamWebApiKey = "B7D245299F6F990504A86FF91EC9D6BD"; // create an account and get a steam web api key at http://steamcommunity.com/dev/apikey + private readonly string steamWebApiKey = ""; // create an account and get a steam web api key at http://steamcommunity.com/dev/apikey + + public MasterServerWebApi(string steamWebApiKey) + { + this.steamWebApiKey = steamWebApiKey; + } /// /// Gets a server list from the Steam master server. @@ -68,7 +73,7 @@ public override void GetAddresses(Region region, MasterIpCallback callback, IpFi using (var cli = new XWebClient()) { var filters = MasterUtil.ProcessFilter(filter); - var url = $"https://api.steampowered.com/IGameServersService/GetServerList/v1/?key={SteamWebApiKey}&format=xml&filter={filters}&limit={GetAddressesLimit}"; + var url = $"https://api.steampowered.com/IGameServersService/GetServerList/v1/?key={steamWebApiKey}&format=xml&filter={filters}&limit={GetAddressesLimit}"; var xml = cli.DownloadString(url); var ser = new XmlSerializer(typeof (Response)); @@ -88,21 +93,26 @@ public override void GetAddresses(Region region, MasterIpCallback callback, IpFi var resp = (Response) ser.Deserialize(new StringReader(xml)); var endpoints = new List>(); - foreach (var msg in resp.Servers) + if (resp.Servers != null) { - try + foreach (var msg in resp.Servers) { - int i = msg.addr.IndexOf(':'); - if (i > 0) + try { - var info = ConvertToServerInfo(msg); - endpoints.Add(new Tuple(info.EndPoint, info)); + int i = msg.addr.IndexOf(':'); + if (i > 0) + { + var info = ConvertToServerInfo(msg); + endpoints.Add(new Tuple(info.EndPoint, info)); + } + } + catch + { + // ignore } - } - catch - { } } + callback(new ReadOnlyCollection>(endpoints), null, false); } } diff --git a/QueryMaster/QueryMaster/QueryMaster.csproj b/QueryMaster/QueryMaster/QueryMaster.csproj index b5e213c..e683104 100644 --- a/QueryMaster/QueryMaster/QueryMaster.csproj +++ b/QueryMaster/QueryMaster/QueryMaster.csproj @@ -27,7 +27,7 @@ true full false - bin\Debug\ + ..\bin\Debug\ DEBUG;TRACE prompt 4 @@ -38,8 +38,8 @@ pdbonly true - bin\Release\ - TRACE + ..\bin\Release\ + TRACE;X64 prompt 4 bin\Release\QueryMaster.XML diff --git a/ServerBrowser/.vs/ServerBrowser.csproj.dtbcache.json b/ServerBrowser/.vs/ServerBrowser.csproj.dtbcache.json new file mode 100644 index 0000000..1724213 --- /dev/null +++ b/ServerBrowser/.vs/ServerBrowser.csproj.dtbcache.json @@ -0,0 +1 @@ +{"RootPath":"C:\\Sources\\SteamServerBrowser\\ServerBrowser","ProjectFileName":"ServerBrowser.csproj","Configuration":"Debug|AnyCPU","FrameworkPath":"","Sources":[{"SourceFile":"Games\\CounterStrikeGO.cs"},{"SourceFile":"Games\\QuakeLiveOptionsDialog.cs"},{"SourceFile":"Games\\QuakeLiveOptionsDialog.Designer.cs"},{"SourceFile":"Games\\ToxikkOptionsDialog.cs"},{"SourceFile":"Games\\ToxikkOptionsDialog.Designer.cs"},{"SourceFile":"GeoIpClient.cs"},{"SourceFile":"IniFile.cs"},{"SourceFile":"KeyBindForm.cs"},{"SourceFile":"KeyBindForm.Designer.cs"},{"SourceFile":"RenameTabForm.cs"},{"SourceFile":"RenameTabForm.Designer.cs"},{"SourceFile":"PasswordForm.cs"},{"SourceFile":"PasswordForm.Designer.cs"},{"SourceFile":"Games\\Reflex.cs"},{"SourceFile":"Games\\GameExtension.cs"},{"SourceFile":"PlayerCountInfo.cs"},{"SourceFile":"ServerBrowserForm.cs"},{"SourceFile":"ServerBrowserForm.Designer.cs"},{"SourceFile":"Program.cs"},{"SourceFile":"Properties\\AssemblyInfo.cs"},{"SourceFile":"ServerSources\\IServerSource.cs"},{"SourceFile":"ServerSources\\MasterServerClient.cs"},{"SourceFile":"ServerQueryLogic.cs"},{"SourceFile":"ServerRow.cs"},{"SourceFile":"ServerSources\\ServerListFromUrl.cs"},{"SourceFile":"SkinPicker.cs"},{"SourceFile":"SkinPicker.Designer.cs"},{"SourceFile":"Games\\QuakeLive.cs"},{"SourceFile":"Games\\Toxikk.cs"},{"SourceFile":"Ip4Utils.cs"},{"SourceFile":"Steamworks.cs"},{"SourceFile":"TabViewModel.cs"},{"SourceFile":"ConnectingWaitForm.cs"},{"SourceFile":"ConnectingWaitForm.Designer.cs"},{"SourceFile":"ThrottledThreadPool.cs"},{"SourceFile":"Win32.cs"},{"SourceFile":"XBarManager.cs"},{"SourceFile":"XWebClient.cs"},{"SourceFile":"Properties\\Resources.Designer.cs"},{"SourceFile":"obj\\Debug\\.NETFramework,Version=v4.8.AssemblyAttributes.cs"}],"References":[{"Reference":"C:\\Program Files\\DevExpress 23.2\\Components\\Bin\\Framework\\DevExpress.Data.Desktop.v23.2.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files\\DevExpress 23.2\\Components\\Bin\\Framework\\DevExpress.Data.v23.2.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files\\DevExpress 23.2\\Components\\Bin\\Framework\\DevExpress.Drawing.v23.2.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files\\DevExpress 23.2\\Components\\Bin\\Framework\\DevExpress.Images.v23.2.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files\\DevExpress 23.2\\Components\\Bin\\Framework\\DevExpress.Office.v23.2.Core.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files\\DevExpress 23.2\\Components\\Bin\\Framework\\DevExpress.Pdf.v23.2.Core.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files\\DevExpress 23.2\\Components\\Bin\\Framework\\DevExpress.Printing.v23.2.Core.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files\\DevExpress 23.2\\Components\\Bin\\Framework\\DevExpress.RichEdit.v23.2.Core.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files\\DevExpress 23.2\\Components\\Bin\\Framework\\DevExpress.RichEdit.v23.2.Export.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files\\DevExpress 23.2\\Components\\Bin\\Framework\\DevExpress.Utils.v23.2.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files\\DevExpress 23.2\\Components\\Bin\\Framework\\DevExpress.XtraBars.v23.2.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files\\DevExpress 23.2\\Components\\Bin\\Framework\\DevExpress.XtraEditors.v23.2.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files\\DevExpress 23.2\\Components\\Bin\\Framework\\DevExpress.XtraGrid.v23.2.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files\\DevExpress 23.2\\Components\\Bin\\Framework\\DevExpress.XtraLayout.v23.2.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files\\DevExpress 23.2\\Components\\Bin\\Framework\\DevExpress.XtraPrinting.v23.2.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files\\DevExpress 23.2\\Components\\Bin\\Framework\\DevExpress.XtraRichEdit.v23.2.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\Microsoft.CSharp.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\mscorlib.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Sources\\SteamServerBrowser\\QueryMaster\\QueryMaster\\bin\\Debug\\QueryMaster.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":true,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\System.Core.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\System.Data.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\System.Data.Linq.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\System.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\System.Drawing.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\System.Runtime.Serialization.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\System.Windows.Forms.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.8\\System.Xml.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""}],"Analyzers":[],"Outputs":[{"OutputItemFullPath":"C:\\Sources\\SteamServerBrowser\\ServerBrowser\\bin\\Debug\\ServerBrowser.exe","OutputItemRelativePath":"ServerBrowser.exe"},{"OutputItemFullPath":"C:\\Sources\\SteamServerBrowser\\ServerBrowser\\bin\\Debug\\ServerBrowser.pdb","OutputItemRelativePath":"ServerBrowser.pdb"}],"CopyToOutputEntries":[]} \ No newline at end of file diff --git a/ServerBrowser/DLL/DevExpress.BonusSkins.v20.1.dll b/ServerBrowser/DLL/DevExpress.BonusSkins.v20.1.dll deleted file mode 100644 index 81210d0..0000000 Binary files a/ServerBrowser/DLL/DevExpress.BonusSkins.v20.1.dll and /dev/null differ diff --git a/ServerBrowser/Ip4Utils.cs b/ServerBrowser/Ip4Utils.cs index cdaa4ef..64ca7ef 100644 --- a/ServerBrowser/Ip4Utils.cs +++ b/ServerBrowser/Ip4Utils.cs @@ -1,5 +1,7 @@ using System; +using System.Linq; using System.Net; +using System.Net.Sockets; namespace ServerBrowser { @@ -33,9 +35,9 @@ public static IPEndPoint ParseEndpoint(string addressAndPort) try { - var ips = Dns.GetHostAddresses(parts[0]); - if (ips.Length > 0) - return new IPEndPoint(ips[0], port); + var ip = Dns.GetHostAddresses(parts[0]).FirstOrDefault(p => p.AddressFamily == AddressFamily.InterNetwork); + if (ip != null) + return new IPEndPoint(ip, port); } catch { diff --git a/ServerBrowser/Program.cs b/ServerBrowser/Program.cs index 53c3d31..57b6e39 100644 --- a/ServerBrowser/Program.cs +++ b/ServerBrowser/Program.cs @@ -8,6 +8,7 @@ using DevExpress.LookAndFeel; using DevExpress.Skins; using DevExpress.Utils; +using DevExpress.XtraEditors; namespace ServerBrowser { @@ -27,22 +28,23 @@ public static void Main() var baseFontSize = iniFile.GetSection("Options")?.GetDecimal("FontSize", 9) ?? 9m; // change font before creating the main form to get correct auto-scaling - Init(new Font("Segoe UI", (float)baseFontSize), "Office 2010 Black"); + Init("Segoe UI", (float)baseFontSize, "Office 2010 Black"); var mainForm = new ServerBrowserForm(iniFile); Application.Run(mainForm); } - public static void Init(Font uiFont, string skinName) + public static void Init(string fontName, float fontSize, string skinName) { InitExceptionHandling(); + WindowsFormsSettings.SetPerMonitorDpiAware(); Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); ThreadPool.SetMinThreads(50 + GeoIpClient.ThreadCount + 5, 100); ThreadPool.SetMaxThreads(50 + GeoIpClient.ThreadCount + 5, 100); - AppearanceObject.DefaultFont = uiFont; + AppearanceObject.DefaultFont = new Font(fontName, fontSize); // must not create a Font instance before initializing GDI+ UserLookAndFeel.Default.SkinName = skinName; SkinManager.EnableFormSkins(); } diff --git a/ServerBrowser/Properties/licenses.licx b/ServerBrowser/Properties/licenses.licx index 49eff3b..20d9770 100644 --- a/ServerBrowser/Properties/licenses.licx +++ b/ServerBrowser/Properties/licenses.licx @@ -1,8 +1,8 @@ -DevExpress.XtraEditors.ButtonEdit, DevExpress.XtraEditors.v20.1, Version=20.1.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a -DevExpress.XtraEditors.Repository.RepositoryItemImageComboBox, DevExpress.XtraEditors.v20.1, Version=20.1.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a -DevExpress.XtraEditors.CheckEdit, DevExpress.XtraEditors.v20.1, Version=20.1.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a -DevExpress.XtraBars.Docking.DockManager, DevExpress.XtraBars.v20.1, Version=20.1.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a -DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v20.1, Version=20.1.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a -DevExpress.XtraEditors.Repository.RepositoryItemComboBox, DevExpress.XtraEditors.v20.1, Version=20.1.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a -DevExpress.XtraEditors.ComboBoxEdit, DevExpress.XtraEditors.v20.1, Version=20.1.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a -DevExpress.XtraEditors.Repository.RepositoryItemCheckEdit, DevExpress.XtraEditors.v20.1, Version=20.1.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a +DevExpress.XtraEditors.Repository.RepositoryItemComboBox, DevExpress.XtraEditors.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a +DevExpress.XtraEditors.Repository.RepositoryItemCheckEdit, DevExpress.XtraEditors.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a +DevExpress.XtraEditors.ComboBoxEdit, DevExpress.XtraEditors.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a +DevExpress.XtraEditors.Repository.RepositoryItemImageComboBox, DevExpress.XtraEditors.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a +DevExpress.XtraEditors.ButtonEdit, DevExpress.XtraEditors.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a +DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a +DevExpress.XtraBars.Docking.DockManager, DevExpress.XtraBars.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a +DevExpress.XtraEditors.CheckEdit, DevExpress.XtraEditors.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a diff --git a/ServerBrowser/ServerBrowser.csproj b/ServerBrowser/ServerBrowser.csproj index b68f540..9fc025f 100644 --- a/ServerBrowser/ServerBrowser.csproj +++ b/ServerBrowser/ServerBrowser.csproj @@ -38,8 +38,8 @@ true full false - bin\Debug\ - DEBUG;TRACE + ..\bin\Debug\ + TRACE;DEBUG;X64 prompt 4 false @@ -48,8 +48,8 @@ AnyCPU pdbonly true - bin\Release\ - TRACE + ..\bin\Release\ + TRACE;X64 prompt 4 false @@ -86,54 +86,58 @@ app.manifest - + False True - + False True - + False True - + False True - + False True - + False True - + False True - + False True - + False True - + False True - + False True - - - - + + False + True + + + + + @@ -276,24 +280,27 @@ false - - - {4ca9c894-518f-42d7-bbe2-cfdfe7a03f8a} - QueryMaster - - + + Always + PreserveNewest + + + {4ca9c894-518f-42d7-bbe2-cfdfe7a03f8a} + QueryMaster + + - copy "$(ProjectDir)\DLL\*BonusSkin*.dll" "$(TargetDir)" + copy "C:\Program Files\DevExpress 23.2\Components\Bin\NetCore\DevExpress.BonusSkins.*.dll" "$(TargetDir)"