From ea6d47197df43ce7b8a5aff883d1839dbc158070 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E8=B6=85?= <1985088337@qq.com> Date: Thu, 12 May 2016 18:05:46 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=A0=E9=99=A4imgageutil=20stringutil=20=20?= =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- OS.Common/ComUtils/ChineseUtil.cs | 277 ------------------ OS.Common/ComUtils/ConfigUtil.cs | 9 + OS.Common/ComUtils/ImageUtil.cs | 171 ----------- OS.Common/ComUtils/StringUtil.cs | 94 ------ OS.Common/Extention/ConvertExtention.cs | 88 ++++++ .../Modules/DirConfigModule/DirConfig.cs | 19 +- OS.Common/OS.Common.csproj | 6 +- 7 files changed, 111 insertions(+), 553 deletions(-) delete mode 100644 OS.Common/ComUtils/ChineseUtil.cs delete mode 100644 OS.Common/ComUtils/ImageUtil.cs delete mode 100644 OS.Common/ComUtils/StringUtil.cs diff --git a/OS.Common/ComUtils/ChineseUtil.cs b/OS.Common/ComUtils/ChineseUtil.cs deleted file mode 100644 index d2a6831..0000000 --- a/OS.Common/ComUtils/ChineseUtil.cs +++ /dev/null @@ -1,277 +0,0 @@ -using System.Globalization; -using System.Text; -using System.Text.RegularExpressions; - -namespace OS.Common.ComUtils -{ - public class ChineseUtil - { - #region 汉字转首字母 - - /// - /// 汉字转首字母缩写 - /// - /// 汉字 - /// 首字母缩写 - public static string GetFirstChars(string cnStrs) - { - StringBuilder ret = new StringBuilder(); - foreach (char c in cnStrs) - { - if (c >= 32 && c <= 126) - { - ret.Append(c.ToString(CultureInfo.InvariantCulture)); - } - else - { - ret.Append(GetFirstChar(c.ToString(CultureInfo.InvariantCulture))); - } - } - return ret.ToString(); - } - /// - /// - /// - /// - /// - public static string GetFirstChar(string cnChar) - { - Encoding gbEncoding = Encoding.GetEncoding("gb2312"); - - byte[] arrCn = gbEncoding.GetBytes(cnChar); - if (arrCn.Length > 1) - { - int area = arrCn[0]; - int pos = arrCn[1]; - int code = (area << 8) + pos; - int[] areacode = { 45217, 45253, 45761, 46318, 46826, 47010, 47297, 47614, 48119, 48119, 49062, 49324, 49896, 50371, 50614, 50622, 50906, 51387, 51446, 52218, 52698, 52698, 52698, 52980, 53689, 54481 }; - for (int i = 0; i < 26; i++) - { - int max = 55290; - if (i != 25) max = areacode[i + 1]; - if (areacode[i] <= code && code < max) - { - return gbEncoding.GetString(new[] { (byte)(65 + i) }); - } - } - return "*"; - } - return cnChar; - } - #endregion - - #region 汉字转全拼 - - /// - /// 把汉字转换成拼音(全拼) - /// - /// 汉字字符串 - /// 转换后的拼音(全拼)字符串 - public static string GetPinYin(string hzStrs) - { - Encoding gbEncoding = Encoding.GetEncoding("gb2312"); - - Regex regex = new Regex("^[\u4e00-\u9fa5]$"); - StringBuilder pystring = new StringBuilder(); - char[] nowchar = hzStrs.ToCharArray(); - - for (int j = 0; j < nowchar.Length; j++) - { - // 中文字符 - if (regex.IsMatch(nowchar[j].ToString(CultureInfo.InvariantCulture))) - { - var array = gbEncoding.GetBytes(nowchar[j].ToString(CultureInfo.InvariantCulture)); - - int i1 = array[0]; - int i2 = array[1]; - int chrasc = i1 * 256 + i2 - 65536; - - if (chrasc > 0 && chrasc < 160) - { - pystring.Append(nowchar[j]); - } - else - { - switch (chrasc) - { - case -9254: // 修正“圳”字 - pystring.Append("zhen"); - break; - case -2354: // 修正“鑫”字 - pystring.Append("xin"); - break; - case -7226: // 修正“闫”字 - pystring.Append("yan"); - break; - default: - for (int i = (pyValue.Length - 1); i >= 0; i--) - { - if (pyValue[i] <= chrasc) - { - pystring.Append(pyname[i]); - break; - } - } - break; - } - } - } - else - { - pystring.Append(nowchar[j]); - } - } - return pystring.ToString(); - } - - #endregion - - #region 数字与文字的初始化 - - /// - /// 把汉字转化成全拼 - /// - private static readonly int[] pyValue = new int[] - { - -20319, -20317, -20304, -20295, -20292, -20283, -20265, -20257, -20242, -20230, -20051, -20036, - - -20032, -20026, -20002, -19990, -19986, -19982, -19976, -19805, -19784, -19775, -19774, -19763, - - -19756, -19751, -19746, -19741, -19739, -19728, -19725, -19715, -19540, -19531, -19525, -19515, - - -19500, -19484, -19479, -19467, -19289, -19288, -19281, -19275, -19270, -19263, -19261, -19249, - - -19243, -19242, -19238, -19235, -19227, -19224, -19218, -19212, -19038, -19023, -19018, -19006, - - -19003, -18996, -18977, -18961, -18952, -18783, -18774, -18773, -18763, -18756, -18741, -18735, - - -18731, -18722, -18710, -18697, -18696, -18526, -18518, -18501, -18490, -18478, -18463, -18448, - - -18447, -18446, -18239, -18237, -18231, -18220, -18211, -18201, -18184, -18183, -18181, -18012, - - -17997, -17988, -17970, -17964, -17961, -17950, -17947, -17931, -17928, -17922, -17759, -17752, - - -17733, -17730, -17721, -17703, -17701, -17697, -17692, -17683, -17676, -17496, -17487, -17482, - - -17468, -17454, -17433, -17427, -17417, -17202, -17185, -16983, -16970, -16942, -16915, -16733, - - -16708, -16706, -16689, -16664, -16657, -16647, -16474, -16470, -16465, -16459, -16452, -16448, - - -16433, -16429, -16427, -16423, -16419, -16412, -16407, -16403, -16401, -16393, -16220, -16216, - - -16212, -16205, -16202, -16187, -16180, -16171, -16169, -16158, -16155, -15959, -15958, -15944, - - -15933, -15920, -15915, -15903, -15889, -15878, -15707, -15701, -15681, -15667, -15661, -15659, - - -15652, -15640, -15631, -15625, -15454, -15448, -15436, -15435, -15419, -15416, -15408, -15394, - - -15385, -15377, -15375, -15369, -15363, -15362, -15183, -15180, -15165, -15158, -15153, -15150, - - -15149, -15144, -15143, -15141, -15140, -15139, -15128, -15121, -15119, -15117, -15110, -15109, - - -14941, -14937, -14933, -14930, -14929, -14928, -14926, -14922, -14921, -14914, -14908, -14902, - - -14894, -14889, -14882, -14873, -14871, -14857, -14678, -14674, -14670, -14668, -14663, -14654, - - -14645, -14630, -14594, -14429, -14407, -14399, -14384, -14379, -14368, -14355, -14353, -14345, - - -14170, -14159, -14151, -14149, -14145, -14140, -14137, -14135, -14125, -14123, -14122, -14112, - - -14109, -14099, -14097, -14094, -14092, -14090, -14087, -14083, -13917, -13914, -13910, -13907, - - -13906, -13905, -13896, -13894, -13878, -13870, -13859, -13847, -13831, -13658, -13611, -13601, - - -13406, -13404, -13400, -13398, -13395, -13391, -13387, -13383, -13367, -13359, -13356, -13343, - - -13340, -13329, -13326, -13318, -13147, -13138, -13120, -13107, -13096, -13095, -13091, -13076, - - -13068, -13063, -13060, -12888, -12875, -12871, -12860, -12858, -12852, -12849, -12838, -12831, - - -12829, -12812, -12802, -12607, -12597, -12594, -12585, -12556, -12359, -12346, -12320, -12300, - - -12120, -12099, -12089, -12074, -12067, -12058, -12039, -11867, -11861, -11847, -11831, -11798, - - -11781, -11604, -11589, -11536, -11358, -11340, -11339, -11324, -11303, -11097, -11077, -11067, - - -11055, -11052, -11045, -11041, -11038, -11024, -11020, -11019, -11018, -11014, -10838, -10832, - - -10815, -10800, -10790, -10780, -10764, -10587, -10544, -10533, -10519, -10331, -10329, -10328, - - -10322, -10315, -10309, -10307, -10296, -10281, -10274, -10270, -10262, -10260, -10256, -10254 //,-10254 - - }; - - private static readonly string[] pyname = new string[] - { - - "a", "ai", "an", "ang", "ao", "ba", "bai", "ban", "bang", "bao", "bei", "ben", - - "beng", "bi", "bian", "biao", "bie", "bin", "bing", "bo", "bu", "ba", "cai", "can", - - "cang", "cao", "ce", "ceng", "cha", "chai", "chan", "chang", "chao", "che", "chen", "cheng", - - "chi", "chong", "chou", "chu", "chuai", "chuan", "chuang", "chui", "chun", "chuo", "ci", "cong", - - "cou", "cu", "cuan", "cui", "cun", "cuo", "da", "dai", "dan", "dang", "dao", "de", - - "deng", "di", "dian", "diao", "die", "ding", "diu", "dong", "dou", "du", "duan", "dui", - - "dun", "duo", "e", "en", "er", "fa", "fan", "fang", "fei", "fen", "feng", "fo", - - "fou", "fu", "ga", "gai", "gan", "gang", "gao", "ge", "gei", "gen", "geng", "gong", - - "gou", "gu", "gua", "guai", "guan", "guang", "gui", "gun", "guo", "ha", "hai", "han", - - "hang", "hao", "he", "hei", "hen", "heng", "hong", "hou", "hu", "hua", "huai", "huan", - - "huang", "hui", "hun", "huo", "ji", "jia", "jian", "jiang", "jiao", "jie", "jin", "jing", - - "jiong", "jiu", "ju", "juan", "jue", "jun", "ka", "kai", "kan", "kang", "kao", "ke", - - "ken", "keng", "kong", "kou", "ku", "kua", "kuai", "kuan", "kuang", "kui", "kun", "kuo", - - "la", "lai", "lan", "lang", "lao", "le", "lei", "leng", "li", "lia", "lian", "liang", - - "liao", "lie", "lin", "ling", "liu", "long", "lou", "lu", "lv", "luan", "lue", "lun", - - "luo", "ma", "mai", "man", "mang", "mao", "me", "mei", "men", "meng", "mi", "mian", - - "miao", "mie", "min", "ming", "miu", "mo", "mou", "mu", "na", "nai", "nan", "nang", - - "nao", "ne", "nei", "nen", "neng", "ni", "nian", "niang", "niao", "nie", "nin", "ning", - - "niu", "nong", "nu", "nv", "nuan", "nue", "nuo", "o", "ou", "pa", "pai", "pan", - - "pang", "pao", "pei", "pen", "peng", "pi", "pian", "piao", "pie", "pin", "ping", "po", - - "pu", "qi", "qia", "qian", "qiang", "qiao", "qie", "qin", "qing", "qiong", "qiu", "qu", - - "quan", "que", "qun", "ran", "rang", "rao", "re", "ren", "reng", "ri", "rong", "rou", - - "ru", "ruan", "rui", "run", "ruo", "sa", "sai", "san", "sang", "sao", "se", "sen", - - "seng", "sha", "shai", "shan", "shang", "shao", "she", "shen", "sheng", "shi", "shou", "shu", - - "shua", "shuai", "shuan", "shuang", "shui", "shun", "shuo", "si", "song", "sou", "su", "suan", - - "sui", "sun", "suo", "ta", "tai", "tan", "tang", "tao", "te", "teng", "ti", "tian", - - "tiao", "tie", "ting", "tong", "tou", "tu", "tuan", "tui", "tun", "tuo", "wa", "wai", - - "wan", "wang", "wei", "wen", "weng", "wo", "wu", "xi", "xia", "xian", "xiang", "xiao", - - "xie", "xin", "xing", "xiong", "xiu", "xu", "xuan", "xue", "xun", "ya", "yan", "yang", - - "yao", "ye", "yi", "yin", "ying", "yo", "yong", "you", "yu", "yuan", "yue", "yun", - - "za", "zai", "zan", "zang", "zao", "ze", "zei", "zen", "zeng", "zha", "zhai", "zhan", - - "zhang", "zhao", "zhe", "zhen", "zheng", "zhi", "zhong", "zhou", "zhu", "zhua", "zhuai", "zhuan", - - "zhuang", "zhui", "zhun", "zhuo", "zi", "zong", "zou", "zu", "zuan", "zui", "zun", "zuo" //,"*" - - }; - - #endregion - } -} diff --git a/OS.Common/ComUtils/ConfigUtil.cs b/OS.Common/ComUtils/ConfigUtil.cs index 71e1315..600aa49 100644 --- a/OS.Common/ComUtils/ConfigUtil.cs +++ b/OS.Common/ComUtils/ConfigUtil.cs @@ -9,6 +9,9 @@ namespace OS.Common.ComUtils /// public static class ConfigUtil { + /// + /// + /// public static NameValueCollection AppSettings { get; private set; } static ConfigUtil() @@ -16,6 +19,12 @@ namespace OS.Common.ComUtils AppSettings = ConfigurationManager.AppSettings; } + /// + /// + /// + /// + /// + /// public static string GetAppSetting(string key) { if (string.IsNullOrEmpty(key)) diff --git a/OS.Common/ComUtils/ImageUtil.cs b/OS.Common/ComUtils/ImageUtil.cs deleted file mode 100644 index cde8b4d..0000000 --- a/OS.Common/ComUtils/ImageUtil.cs +++ /dev/null @@ -1,171 +0,0 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using System.Web; -using System.Collections; - -namespace OS.Common.ComUtils -{ - - //public static class ImageHelper - //{ - // /// - // /// - // /// - // /// - // /// - // /// - // /// - // /// 返回是否保存成功 - // public static bool SaveFileImageFixedByHight(HttpPostedFileBase jpeg_image_upload, int target_height, string path) - // { - // return SaveFileImage(jpeg_image_upload, 0, target_height, FixedRateType.FixedHeight, path); - // } - // /// - // /// - // /// - // /// - // /// - // /// - // /// - // /// 返回是否保存成功 - // public static bool SaveFileImageFixedByWidth(HttpPostedFileBase jpeg_image_upload, int target_width, string path) - // { - // return SaveFileImage(jpeg_image_upload, target_width, 0, FixedRateType.FixedWidth, path); - // } - - - // /// - // /// - // /// - // /// - // /// - // /// - // /// - // /// 绝对路径 - // /// 返回是否保存成功 - // public static bool SaveFileImage(HttpPostedFileBase jpeg_image_upload, int target_width, int target_height, FixedRateType fixedType, string path) - // { - // bool isOkay = false; - // Image original_image = null; - - // try - // { - // if (jpeg_image_upload != null&& !string.IsNullOrEmpty(path)) - // { - // original_image = System.Drawing.Image.FromStream(jpeg_image_upload.InputStream); - // string dirPath = path.Substring(0, path.LastIndexOfAny(new char[] { '\\', '/' })); - // if (!Directory.Exists(dirPath)) - // { - // Directory.CreateDirectory(dirPath); - // } - // isOkay = SaveImage(original_image, target_width, target_height, fixedType, path); - // } - - // } - // catch (Exception ex) - // { - // LogUtil.Error("生成图片过程出错,详情:"+ex.Message); - // } - // finally - // { - // if (original_image != null) original_image.Dispose(); - // } - // return isOkay; - // } - // /// - // /// 保存图片 - // /// - // /// 图片数据 - // /// 画布宽度(图像宽度) - // /// 画布高度(图像高度) - // /// 固定比率类型 - // /// 保存路径 - // /// 返回是否保存成功,失败可能原因:路径不正确 - // public static bool SaveImage(Image original_image, int target_width, int target_height, FixedRateType fixedType, string path) - // { - // bool isOkay = true; - // Image new_image = null; - // int width = original_image.Width; - // int height = original_image.Height; - // int new_width, new_height; - // #region 计算比例 - // float target_ratio = (float)target_width / (float)target_height; - // float image_ratio = (float)width / (float)height; - // switch (fixedType) - // { - // case FixedRateType.Fixed: - // new_height = target_ratio > image_ratio ? target_height : (int)Math.Floor((float)target_width / image_ratio); - // new_width = target_ratio > image_ratio ? (int)Math.Floor(image_ratio * (float)target_height) : target_width; - // break; - // case FixedRateType.FixedWidth: - // new_height = (int)Math.Floor((float)target_width / image_ratio); - // new_width = target_width; - // target_height = new_height; - // break; - // case FixedRateType.FixedHeight: - // new_height = target_height; - // new_width = (int)Math.Floor(image_ratio * (float)target_height); - // target_width = new_width; - // break; - // default: - // new_width = target_width; - // new_height = target_height; - // break; - // } - // #endregion - - // Graphics graphics = null; - // try - // { - // new_image = new Bitmap(target_width > new_width ? target_width : new_width, - // target_height > new_height ? target_height : new_height); - // graphics = Graphics.FromImage(new_image); - // if (fixedType == FixedRateType.Fixed) - // { // 判断是否填充 - // graphics.FillRectangle(new SolidBrush(Color.White), new Rectangle(0, 0, target_width, target_height)); - // } - - // graphics.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic; - // graphics.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality; - // int paste_x = (target_width - new_width) / 2; - // int paste_y = (target_height - new_height) / 2; - // graphics.DrawImage(original_image, paste_x, paste_y, new_width, new_height); - // new_image.Save(path); - // } - // catch - // { - // isOkay = false; - // } - // finally - // { - // if (graphics != null) graphics.Dispose(); - // if (new_image != null) new_image.Dispose(); - // } - // return isOkay; - // } - - //} - //public enum FixedRateType - //{ - // /// - // /// 不固定比率 - // /// - // None = 0, - // /// - // /// 固定比率,根据传进的画布大小,不足部分自动补白 - // /// - // Fixed = 1, - // /// - // ///固定比率, 以宽度为主(不会出现填充),高度自适应 - // /// - // FixedWidth = 2, - // /// - // /// 固定比率,以高度为主(不会出现填充),宽度自适应 - // /// - // FixedHeight = 3 - //} -} diff --git a/OS.Common/ComUtils/StringUtil.cs b/OS.Common/ComUtils/StringUtil.cs deleted file mode 100644 index 48c4e4e..0000000 --- a/OS.Common/ComUtils/StringUtil.cs +++ /dev/null @@ -1,94 +0,0 @@ -using System; -using System.Text; - -namespace OS.Common.ComUtils -{ - public static class StringUtil - { - #region Filter - - /// - /// 过滤 Sql 语句字符串中的注入脚本 - /// - /// 传入的字符串 - /// 过滤后的字符串 - public static string SqlFilter(string source) - { - source = source.Replace("\"", ""); - source = source.Replace("&", "&"); - source = source.Replace("<", "<"); - source = source.Replace(">", ">"); - source = source.Replace("delete", ""); - source = source.Replace("update", ""); - source = source.Replace("insert", ""); - source = source.Replace("'", "''"); - source = source.Replace(";", ";"); - source = source.Replace("(", "("); - source = source.Replace(")", ")"); - source = source.Replace("Exec", ""); - source = source.Replace("Execute", ""); - source = source.Replace("xp_", "x p_"); - source = source.Replace("sp_", "s p_"); - source = source.Replace("0x", "0 x"); - return source; - } - - #endregion - - #region 字符串转码 - - /// - /// 根据指定编码转化成对应的64位编码 - /// - /// - /// - /// - public static string ToBase64(this string source, Encoding encoding) - { - if (string.IsNullOrEmpty(source)) - { - throw new ArgumentNullException("source", "转化Base64字符串不能为空"); - } - byte[] bytes = encoding.GetBytes(source); - return Convert.ToBase64String(bytes); - } - - /// - /// 从base64编码解码出正常的值 - /// - /// - /// - /// - public static string FromBase64(this string baseString, Encoding encoding) - { - if (string.IsNullOrEmpty(baseString)) - { - throw new ArgumentNullException("baseString", "解码Base64字符串不能为空"); - } - byte[] bytes = Convert.FromBase64String(baseString); - return encoding.GetString(bytes); - } - - /// - /// 替换base64位字符串中的特殊符号 Url友好 - /// - /// - /// - public static string Base64UrlEncode(this string baseString) - { - return baseString.Replace('+', '-').Replace('/', '_'); - } - - /// - /// 还原 base64 字符串中的特殊字符 Url不友好 - /// - /// - /// - public static string Base64UrlDecode(this string baseString) - { - return baseString.Replace('-', '+').Replace('_', '/'); - } - - #endregion - } -} diff --git a/OS.Common/Extention/ConvertExtention.cs b/OS.Common/Extention/ConvertExtention.cs index 6fcbca6..8163b52 100644 --- a/OS.Common/Extention/ConvertExtention.cs +++ b/OS.Common/Extention/ConvertExtention.cs @@ -1,4 +1,5 @@ using System; +using System.Text; namespace OS.Common.Extention { @@ -437,6 +438,93 @@ namespace OS.Common.Extention Boolean.TryParse(str, out isOkay); return isOkay; } + + + + /// + /// 根据指定编码转化成对应的64位编码 + /// + /// + /// + /// + public static string ToBase64(this string source, Encoding encoding) + { + if (string.IsNullOrEmpty(source)) + { + throw new ArgumentNullException("source", "转化Base64字符串不能为空"); + } + byte[] bytes = encoding.GetBytes(source); + return Convert.ToBase64String(bytes); + } + + /// + /// 从base64编码解码出正常的值 + /// + /// + /// + /// + public static string FromBase64(this string baseString, Encoding encoding) + { + if (string.IsNullOrEmpty(baseString)) + { + throw new ArgumentNullException("baseString", "解码Base64字符串不能为空"); + } + byte[] bytes = Convert.FromBase64String(baseString); + return encoding.GetString(bytes); + } + + /// + /// 替换base64位字符串中的特殊符号 Url友好 + /// + /// + /// + public static string Base64UrlEncode(this string baseString) + { + return baseString.Replace('+', '-').Replace('/', '_'); + } + + /// + /// 还原 base64 字符串中的特殊字符 Url不友好 + /// + /// + /// + public static string Base64UrlDecode(this string baseString) + { + return baseString.Replace('-', '+').Replace('_', '/'); + } + + + #endregion + + + #region Filter + + /// + /// 过滤 Sql 语句字符串中的注入脚本 + /// + /// 传入的字符串 + /// 过滤后的字符串 + public static string SqlFilter(string source) + { + source = source.Replace("\"", ""); + source = source.Replace("&", "&"); + source = source.Replace("<", "<"); + source = source.Replace(">", ">"); + source = source.Replace("delete", ""); + source = source.Replace("update", ""); + source = source.Replace("insert", ""); + source = source.Replace("'", "''"); + source = source.Replace(";", ";"); + source = source.Replace("(", "("); + source = source.Replace(")", ")"); + source = source.Replace("Exec", ""); + source = source.Replace("Execute", ""); + source = source.Replace("xp_", "x p_"); + source = source.Replace("sp_", "s p_"); + source = source.Replace("0x", "0 x"); + return source; + } + #endregion } } diff --git a/OS.Common/Modules/DirConfigModule/DirConfig.cs b/OS.Common/Modules/DirConfigModule/DirConfig.cs index 61cd6fd..52a3643 100644 --- a/OS.Common/Modules/DirConfigModule/DirConfig.cs +++ b/OS.Common/Modules/DirConfigModule/DirConfig.cs @@ -17,17 +17,22 @@ namespace OS.Common.Modules.DirConfigModule static DirConfig() { + +#if DNXCORE50 _defaultPath = AppDomain.CurrentDomain.BaseDirectory; +#else + _defaultPath = AppDomain.CurrentDomain.BaseDirectory; +#endif } - /// - /// 设置字典配置信息 - /// - /// - /// - /// - /// + /// + /// 设置字典配置信息 + /// + /// + /// + /// + /// public ResultModel SetDirConfig( string key, TConfig dirConfig) where TConfig:class ,new() { if (string.IsNullOrEmpty(key)) diff --git a/OS.Common/OS.Common.csproj b/OS.Common/OS.Common.csproj index f240203..cc33f44 100644 --- a/OS.Common/OS.Common.csproj +++ b/OS.Common/OS.Common.csproj @@ -1,5 +1,5 @@  - + Debug @@ -71,12 +71,9 @@ - - - @@ -88,6 +85,7 @@ +