From 139b093a4f5bf1dac246f90d653b0665214833df Mon Sep 17 00:00:00 2001 From: parallelbgls Date: Thu, 11 May 2017 10:49:31 +0800 Subject: [PATCH] 2017-05-11 update 1 move setting files to App.config --- Modbus.Net/Modbus.Net.Core/App.config | 13 ++ .../Modbus.Net.Core/ConfigurationManager.cs | 18 +++ .../Modbus.Net.Core/Modbus.Net.Core.csproj | 18 +-- .../Modbus.Net.Modbus.csproj | 4 + .../Modbus.Net.Modbus/ModbusAsciiProtocal.cs | 6 +- .../Modbus.Net.Modbus/ModbusRtuProtocal.cs | 6 +- .../Modbus.Net.Modbus/ModbusTcpProtocal.cs | 6 +- .../ModbusTcpProtocalLinker.cs | 6 +- .../Modbus.Net.OPC/FBox/FBoxOpcDaManchine.cs | 3 +- .../Modbus.Net.OPC/Modbus.Net.OPC.csproj | 8 +- .../Modbus.Net.OPC/OpcDaProtocalLinker.cs | 5 +- .../Modbus.Net.OPC/OpcUaProtocalLinker.cs | 3 +- .../Modbus.Net.Siemens.csproj | 6 + .../Modbus.Net.Siemens/SiemensPpiProtocal.cs | 5 +- .../Modbus.Net.Siemens/SiemensTcpProtocal.cs | 5 +- .../SiemensTcpProtocalLinker.cs | 3 +- Modbus.Net/Modbus.Net/App.config | 14 ++ Modbus.Net/Modbus.Net/ComProtocalLinker.cs | 7 +- Modbus.Net/Modbus.Net/Modbus.Net.csproj | 15 +- .../ConfigurationManager.Designer.cs | 137 ----------------- .../src/Base.Common/ConfigurationManager.resx | 144 ------------------ .../src/Base.Common/TcpProtocalLinker.cs | 10 +- 22 files changed, 110 insertions(+), 332 deletions(-) create mode 100644 Modbus.Net/Modbus.Net.Core/App.config create mode 100644 Modbus.Net/Modbus.Net.Core/ConfigurationManager.cs create mode 100644 Modbus.Net/Modbus.Net/App.config delete mode 100644 Modbus.Net/src/Base.Common/ConfigurationManager.Designer.cs delete mode 100644 Modbus.Net/src/Base.Common/ConfigurationManager.resx diff --git a/Modbus.Net/Modbus.Net.Core/App.config b/Modbus.Net/Modbus.Net.Core/App.config new file mode 100644 index 0000000..e85257a --- /dev/null +++ b/Modbus.Net/Modbus.Net.Core/App.config @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/Modbus.Net/Modbus.Net.Core/ConfigurationManager.cs b/Modbus.Net/Modbus.Net.Core/ConfigurationManager.cs new file mode 100644 index 0000000..55e5301 --- /dev/null +++ b/Modbus.Net/Modbus.Net.Core/ConfigurationManager.cs @@ -0,0 +1,18 @@ +using System.Collections.Generic; +using System.IO; +using Microsoft.Extensions.Configuration; + +namespace Modbus.Net +{ + public static class ConfigurationManager + { + private static IConfigurationBuilder builder = new ConfigurationBuilder() + .SetBasePath(Directory.GetCurrentDirectory()) + .AddJsonFile("appsettings.json") + .AddXmlFile("App.config"); + + private static IConfigurationRoot Configuration => builder.Build(); + + public static IConfigurationSection AppSettings => Configuration.GetSection("AppSettings"); + } +} \ No newline at end of file diff --git a/Modbus.Net/Modbus.Net.Core/Modbus.Net.Core.csproj b/Modbus.Net/Modbus.Net.Core/Modbus.Net.Core.csproj index 911a4ef..3e7c4ae 100644 --- a/Modbus.Net/Modbus.Net.Core/Modbus.Net.Core.csproj +++ b/Modbus.Net/Modbus.Net.Core/Modbus.Net.Core.csproj @@ -51,23 +51,11 @@ + + + - - - True - True - ConfigurationManager.resx - - - - - - ResXFileCodeGenerator - ConfigurationManager.Designer.cs - - - \ No newline at end of file diff --git a/Modbus.Net/Modbus.Net.Modbus/Modbus.Net.Modbus.csproj b/Modbus.Net/Modbus.Net.Modbus/Modbus.Net.Modbus.csproj index 76b0b4f..d0c29f2 100644 --- a/Modbus.Net/Modbus.Net.Modbus/Modbus.Net.Modbus.csproj +++ b/Modbus.Net/Modbus.Net.Modbus/Modbus.Net.Modbus.csproj @@ -27,4 +27,8 @@ + + + + \ No newline at end of file diff --git a/Modbus.Net/Modbus.Net.Modbus/ModbusAsciiProtocal.cs b/Modbus.Net/Modbus.Net.Modbus/ModbusAsciiProtocal.cs index 0928bdf..f75400c 100644 --- a/Modbus.Net/Modbus.Net.Modbus/ModbusAsciiProtocal.cs +++ b/Modbus.Net/Modbus.Net.Modbus/ModbusAsciiProtocal.cs @@ -1,4 +1,6 @@ -namespace Modbus.Net.Modbus +using System.Configuration; + +namespace Modbus.Net.Modbus { /// /// Modbus/Ascii码协议 @@ -6,7 +8,7 @@ public class ModbusAsciiProtocal : ModbusProtocal { public ModbusAsciiProtocal(byte slaveAddress, byte masterAddress, Endian endian) - : this(ConfigurationManager.COM, slaveAddress, masterAddress, endian) + : this(ConfigurationManager.AppSettings["COM"], slaveAddress, masterAddress, endian) { } diff --git a/Modbus.Net/Modbus.Net.Modbus/ModbusRtuProtocal.cs b/Modbus.Net/Modbus.Net.Modbus/ModbusRtuProtocal.cs index 9fbe229..53fab41 100644 --- a/Modbus.Net/Modbus.Net.Modbus/ModbusRtuProtocal.cs +++ b/Modbus.Net/Modbus.Net.Modbus/ModbusRtuProtocal.cs @@ -1,4 +1,6 @@ -namespace Modbus.Net.Modbus +using System.Configuration; + +namespace Modbus.Net.Modbus { /// /// Modbus/Rtu协议 @@ -6,7 +8,7 @@ public class ModbusRtuProtocal : ModbusProtocal { public ModbusRtuProtocal(byte slaveAddress, byte masterAddress, Endian endian) - : this(ConfigurationManager.COM, slaveAddress, masterAddress, endian) + : this(ConfigurationManager.AppSettings["COM"], slaveAddress, masterAddress, endian) { } diff --git a/Modbus.Net/Modbus.Net.Modbus/ModbusTcpProtocal.cs b/Modbus.Net/Modbus.Net.Modbus/ModbusTcpProtocal.cs index ff8631c..d403e21 100644 --- a/Modbus.Net/Modbus.Net.Modbus/ModbusTcpProtocal.cs +++ b/Modbus.Net/Modbus.Net.Modbus/ModbusTcpProtocal.cs @@ -1,4 +1,6 @@ -namespace Modbus.Net.Modbus +using System.Configuration; + +namespace Modbus.Net.Modbus { /// /// Modbus/Tcp协议 @@ -6,7 +8,7 @@ public class ModbusTcpProtocal : ModbusProtocal { public ModbusTcpProtocal(byte slaveAddress, byte masterAddress, Endian endian) - : this(ConfigurationManager.IP, slaveAddress, masterAddress, endian) + : this(ConfigurationManager.AppSettings["IP"], slaveAddress, masterAddress, endian) { } diff --git a/Modbus.Net/Modbus.Net.Modbus/ModbusTcpProtocalLinker.cs b/Modbus.Net/Modbus.Net.Modbus/ModbusTcpProtocalLinker.cs index 229bd68..f49667c 100644 --- a/Modbus.Net/Modbus.Net.Modbus/ModbusTcpProtocalLinker.cs +++ b/Modbus.Net/Modbus.Net.Modbus/ModbusTcpProtocalLinker.cs @@ -1,11 +1,13 @@ -namespace Modbus.Net.Modbus +using System.Configuration; + +namespace Modbus.Net.Modbus { /// /// Modbus/Tcp协议连接器 /// public class ModbusTcpProtocalLinker : TcpProtocalLinker { - public ModbusTcpProtocalLinker(string ip) : base(ip, int.Parse(ConfigurationManager.ModbusPort)) + public ModbusTcpProtocalLinker(string ip) : base(ip, int.Parse(ConfigurationManager.AppSettings["ModbusPort"])) { } diff --git a/Modbus.Net/Modbus.Net.OPC/FBox/FBoxOpcDaManchine.cs b/Modbus.Net/Modbus.Net.OPC/FBox/FBoxOpcDaManchine.cs index 802097b..991f80c 100644 --- a/Modbus.Net/Modbus.Net.OPC/FBox/FBoxOpcDaManchine.cs +++ b/Modbus.Net/Modbus.Net.OPC/FBox/FBoxOpcDaManchine.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Configuration; using System.Linq; using System.Text; using System.Threading.Tasks; @@ -13,7 +14,7 @@ namespace Modbus.Net.OPC.FBox public string LinkerName { get; set; } public FBoxOpcDaMachine(string localSequence, string linkerName, - IEnumerable getAddresses, bool keepConnect) : base(ConfigurationManager.FBoxOpcDaHost, getAddresses, keepConnect) + IEnumerable getAddresses, bool keepConnect) : base(ConfigurationManager.AppSettings["FBoxOpcDaHost"], getAddresses, keepConnect) { LocalSequence = localSequence; LinkerName = linkerName; diff --git a/Modbus.Net/Modbus.Net.OPC/Modbus.Net.OPC.csproj b/Modbus.Net/Modbus.Net.OPC/Modbus.Net.OPC.csproj index e208dc5..3f38142 100644 --- a/Modbus.Net/Modbus.Net.OPC/Modbus.Net.OPC.csproj +++ b/Modbus.Net/Modbus.Net.OPC/Modbus.Net.OPC.csproj @@ -24,11 +24,17 @@ - + + + + C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.2\System.Configuration.dll + + + \ No newline at end of file diff --git a/Modbus.Net/Modbus.Net.OPC/OpcDaProtocalLinker.cs b/Modbus.Net/Modbus.Net.OPC/OpcDaProtocalLinker.cs index 2307645..f65da98 100644 --- a/Modbus.Net/Modbus.Net.OPC/OpcDaProtocalLinker.cs +++ b/Modbus.Net/Modbus.Net.OPC/OpcDaProtocalLinker.cs @@ -1,4 +1,5 @@ -using System.Text; +using System.Configuration; +using System.Text; namespace Modbus.Net.OPC { @@ -7,7 +8,7 @@ namespace Modbus.Net.OPC /// public class OpcDaProtocalLinker : OpcProtocalLinker { - public OpcDaProtocalLinker() : this(ConfigurationManager.OpcDaHost) + public OpcDaProtocalLinker() : this(ConfigurationManager.AppSettings["OpcDaHost"]) { } diff --git a/Modbus.Net/Modbus.Net.OPC/OpcUaProtocalLinker.cs b/Modbus.Net/Modbus.Net.OPC/OpcUaProtocalLinker.cs index dd090e5..8048b97 100644 --- a/Modbus.Net/Modbus.Net.OPC/OpcUaProtocalLinker.cs +++ b/Modbus.Net/Modbus.Net.OPC/OpcUaProtocalLinker.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Configuration; using System.Linq; using System.Text; using System.Threading.Tasks; @@ -11,7 +12,7 @@ namespace Modbus.Net.OPC /// public class OpcUaProtocalLinker : OpcProtocalLinker { - public OpcUaProtocalLinker() : this(ConfigurationManager.OpcUaHost) + public OpcUaProtocalLinker() : this(ConfigurationManager.AppSettings["OpcUaHost"]) { } diff --git a/Modbus.Net/Modbus.Net.Siemens/Modbus.Net.Siemens.csproj b/Modbus.Net/Modbus.Net.Siemens/Modbus.Net.Siemens.csproj index 197f12f..3c27504 100644 --- a/Modbus.Net/Modbus.Net.Siemens/Modbus.Net.Siemens.csproj +++ b/Modbus.Net/Modbus.Net.Siemens/Modbus.Net.Siemens.csproj @@ -25,5 +25,11 @@ + + + + C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.2\System.Configuration.dll + + \ No newline at end of file diff --git a/Modbus.Net/Modbus.Net.Siemens/SiemensPpiProtocal.cs b/Modbus.Net/Modbus.Net.Siemens/SiemensPpiProtocal.cs index 1b71c31..1585154 100644 --- a/Modbus.Net/Modbus.Net.Siemens/SiemensPpiProtocal.cs +++ b/Modbus.Net/Modbus.Net.Siemens/SiemensPpiProtocal.cs @@ -1,4 +1,5 @@ -using System.Threading.Tasks; +using System.Configuration; +using System.Threading.Tasks; namespace Modbus.Net.Siemens { @@ -10,7 +11,7 @@ namespace Modbus.Net.Siemens private readonly string _com; public SiemensPpiProtocal(byte slaveAddress, byte masterAddress) - : this(ConfigurationManager.COM, slaveAddress, masterAddress) + : this(ConfigurationManager.AppSettings["COM"], slaveAddress, masterAddress) { } diff --git a/Modbus.Net/Modbus.Net.Siemens/SiemensTcpProtocal.cs b/Modbus.Net/Modbus.Net.Siemens/SiemensTcpProtocal.cs index f49751e..cc44acd 100644 --- a/Modbus.Net/Modbus.Net.Siemens/SiemensTcpProtocal.cs +++ b/Modbus.Net/Modbus.Net.Siemens/SiemensTcpProtocal.cs @@ -1,4 +1,5 @@ -using System.Threading.Tasks; +using System.Configuration; +using System.Threading.Tasks; namespace Modbus.Net.Siemens { @@ -18,7 +19,7 @@ namespace Modbus.Net.Siemens private int _connectTryCount; public SiemensTcpProtocal(byte tdpuSize, ushort tsapSrc, ushort tsapDst, ushort maxCalling, ushort maxCalled, - ushort maxPdu) : this(tdpuSize, tsapSrc, tsapDst, maxCalling, maxCalled, maxPdu, ConfigurationManager.IP) + ushort maxPdu) : this(tdpuSize, tsapSrc, tsapDst, maxCalling, maxCalled, maxPdu, ConfigurationManager.AppSettings["IP"]) { } diff --git a/Modbus.Net/Modbus.Net.Siemens/SiemensTcpProtocalLinker.cs b/Modbus.Net/Modbus.Net.Siemens/SiemensTcpProtocalLinker.cs index 88c65b0..23f4b62 100644 --- a/Modbus.Net/Modbus.Net.Siemens/SiemensTcpProtocalLinker.cs +++ b/Modbus.Net/Modbus.Net.Siemens/SiemensTcpProtocalLinker.cs @@ -1,4 +1,5 @@ using System; +using System.Configuration; namespace Modbus.Net.Siemens { @@ -8,7 +9,7 @@ namespace Modbus.Net.Siemens public class SiemensTcpProtocalLinker : TcpProtocalLinker { public SiemensTcpProtocalLinker(string ip) - : base(ip, int.Parse(ConfigurationManager.SiemensPort)) + : base(ip, int.Parse(ConfigurationManager.AppSettings["SiemensPort"])) { } diff --git a/Modbus.Net/Modbus.Net/App.config b/Modbus.Net/Modbus.Net/App.config new file mode 100644 index 0000000..46b488f --- /dev/null +++ b/Modbus.Net/Modbus.Net/App.config @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Modbus.Net/Modbus.Net/ComProtocalLinker.cs b/Modbus.Net/Modbus.Net/ComProtocalLinker.cs index 8ddcfc6..95e61a5 100644 --- a/Modbus.Net/Modbus.Net/ComProtocalLinker.cs +++ b/Modbus.Net/Modbus.Net/ComProtocalLinker.cs @@ -1,4 +1,5 @@ -using System.IO.Ports; +using System.Configuration; +using System.IO.Ports; namespace Modbus.Net { @@ -15,7 +16,7 @@ namespace Modbus.Net /// 停止位 /// 数据位 protected ComProtocalLinker(int baudRate, Parity parity, StopBits stopBits, int dataBits) - : this(ConfigurationManager.COM, baudRate, parity, stopBits, dataBits) + : this(ConfigurationManager.AppSettings["COM"], baudRate, parity, stopBits, dataBits) { } @@ -30,7 +31,7 @@ namespace Modbus.Net protected ComProtocalLinker(string com, int baudRate, Parity parity, StopBits stopBits, int dataBits) { //初始化连对象 - BaseConnector = new ComConnector(com, baudRate, parity, stopBits, dataBits, 30000); + BaseConnector = new ComConnector(com, baudRate, parity, stopBits, dataBits, int.Parse(ConfigurationManager.AppSettings["ComConnectionTimeout"])); } } } \ No newline at end of file diff --git a/Modbus.Net/Modbus.Net/Modbus.Net.csproj b/Modbus.Net/Modbus.Net/Modbus.Net.csproj index 5487e41..2d503be 100644 --- a/Modbus.Net/Modbus.Net/Modbus.Net.csproj +++ b/Modbus.Net/Modbus.Net/Modbus.Net.csproj @@ -50,18 +50,9 @@ - - True - True - ConfigurationManager.resx - - - - - - ResXFileCodeGenerator - ConfigurationManager.Designer.cs - + + C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.2\System.Configuration.dll + \ No newline at end of file diff --git a/Modbus.Net/src/Base.Common/ConfigurationManager.Designer.cs b/Modbus.Net/src/Base.Common/ConfigurationManager.Designer.cs deleted file mode 100644 index f261ccf..0000000 --- a/Modbus.Net/src/Base.Common/ConfigurationManager.Designer.cs +++ /dev/null @@ -1,137 +0,0 @@ -//------------------------------------------------------------------------------ -// -// 此代码由工具生成。 -// 运行时版本:4.0.30319.42000 -// -// 对此文件的更改可能会导致不正确的行为,并且如果 -// 重新生成代码,这些更改将会丢失。 -// -//------------------------------------------------------------------------------ - -using System.Reflection; - -namespace Modbus.Net { - using System; - - - /// - /// 一个强类型的资源类,用于查找本地化的字符串等。 - /// - // 此类是由 StronglyTypedResourceBuilder - // 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。 - // 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen - // (以 /str 作为命令选项),或重新生成 VS 项目。 - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - public class ConfigurationManager { - - private static global::System.Resources.ResourceManager resourceMan; - - private static global::System.Globalization.CultureInfo resourceCulture; - - [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] - internal ConfigurationManager() { - } - - /// - /// 返回此类使用的缓存的 ResourceManager 实例。 - /// - [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - public static global::System.Resources.ResourceManager ResourceManager { - get { - if (object.ReferenceEquals(resourceMan, null)) { - global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Modbus.Net.ConfigurationManager", typeof(ConfigurationManager).GetTypeInfo().Assembly); - resourceMan = temp; - } - return resourceMan; - } - } - - /// - /// 使用此强类型资源类,为所有资源查找 - /// 重写当前线程的 CurrentUICulture 属性。 - /// - [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - public static global::System.Globalization.CultureInfo Culture { - get { - return resourceCulture; - } - set { - resourceCulture = value; - } - } - - /// - /// 查找类似 COM1 的本地化字符串。 - /// - public static string COM { - get { - return ResourceManager.GetString("COM", resourceCulture); - } - } - - /// - /// 查找类似 opcda://localhost/FBoxOpcServer 的本地化字符串。 - /// - public static string FBoxOpcDaHost { - get { - return ResourceManager.GetString("FBoxOpcDaHost", resourceCulture); - } - } - - /// - /// 查找类似 192.168.1.1 的本地化字符串。 - /// - public static string IP { - get { - return ResourceManager.GetString("IP", resourceCulture); - } - } - - /// - /// 查找类似 5000 的本地化字符串。 - /// - public static string IPConnectionTimeout { - get { - return ResourceManager.GetString("IPConnectionTimeout", resourceCulture); - } - } - - /// - /// 查找类似 502 的本地化字符串。 - /// - public static string ModbusPort { - get { - return ResourceManager.GetString("ModbusPort", resourceCulture); - } - } - - /// - /// 查找类似 opcda://localhost/... 的本地化字符串。 - /// - public static string OpcDaHost { - get { - return ResourceManager.GetString("OpcDaHost", resourceCulture); - } - } - - /// - /// 查找类似 opc.tcp://localhost/... 的本地化字符串。 - /// - public static string OpcUaHost { - get { - return ResourceManager.GetString("OpcUaHost", resourceCulture); - } - } - - /// - /// 查找类似 102 的本地化字符串。 - /// - public static string SiemensPort { - get { - return ResourceManager.GetString("SiemensPort", resourceCulture); - } - } - } -} diff --git a/Modbus.Net/src/Base.Common/ConfigurationManager.resx b/Modbus.Net/src/Base.Common/ConfigurationManager.resx deleted file mode 100644 index 192a30e..0000000 --- a/Modbus.Net/src/Base.Common/ConfigurationManager.resx +++ /dev/null @@ -1,144 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - COM1 - - - opcda://localhost/FBoxOpcServer - - - 192.168.1.1 - - - 5000 - - - 502 - - - opcda://localhost/... - - - opc.tcp://localhost/... - - - 102 - - \ No newline at end of file diff --git a/Modbus.Net/src/Base.Common/TcpProtocalLinker.cs b/Modbus.Net/src/Base.Common/TcpProtocalLinker.cs index cb1077a..92cb4b0 100644 --- a/Modbus.Net/src/Base.Common/TcpProtocalLinker.cs +++ b/Modbus.Net/src/Base.Common/TcpProtocalLinker.cs @@ -1,4 +1,8 @@ -namespace Modbus.Net +#if NET40||NET45||NET451||NET452||NET46||NET461||NET462||NET47 +using System.Configuration; +#endif + +namespace Modbus.Net { /// /// Tcp连接对象 @@ -8,7 +12,7 @@ /// /// 构造器 /// - protected TcpProtocalLinker() : this(ConfigurationManager.IP, int.Parse(ConfigurationManager.ModbusPort)) + protected TcpProtocalLinker() : this(ConfigurationManager.AppSettings["IP"], int.Parse(ConfigurationManager.AppSettings["ModbusPort"])) { } @@ -20,7 +24,7 @@ protected TcpProtocalLinker(string ip, int port) { //初始化连接对象 - BaseConnector = new TcpConnector(ip, port, int.Parse(ConfigurationManager.IPConnectionTimeout)); + BaseConnector = new TcpConnector(ip, port, int.Parse(ConfigurationManager.AppSettings["IPConnectionTimeout"])); } } } \ No newline at end of file