Senparc.Weixin.vs2017.csproj 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422
  1. <Project Sdk="Microsoft.NET.Sdk">
  2. <PropertyGroup>
  3. <TargetFrameworks>net35;net40;net45;netstandard2.0</TargetFrameworks>
  4. <Version>6.3.11</Version>
  5. <AssemblyName>Senparc.Weixin</AssemblyName>
  6. <RootNamespace>Senparc.Weixin</RootNamespace>
  7. <GeneratePackageOnBuild Condition=" '$(Configuration)' == 'Release' ">true</GeneratePackageOnBuild>
  8. <Description>
  9. 微信公众账号 - Senparc.Weixin SDK 基础模块
  10. Senparc.Weixin SDK 开源项目:
  11. https://github.com/JeffreySu/WeiXinMPSDK
  12. </Description>
  13. <Copyright>Senparc Copyright © 2004~2018</Copyright>
  14. <PackageTags>微信,weixin,公众号,WeChat,Senparc,盛派,SDK,C#,JSSDK,微信支付,分布式,小程序,Cache,Redis</PackageTags>
  15. <Authors>Jeffrey Su</Authors>
  16. <Owners>Senparc</Owners>
  17. <PackageLicenseUrl>https://github.com/JeffreySu/WeiXinMPSDK/blob/master/license.md</PackageLicenseUrl>
  18. <ProjectUrl>https://github.com/JeffreySu/WeiXinMPSDK</ProjectUrl>
  19. <Title>Senparc.Weixin.dll</Title>
  20. <Summary>微信公众号SDK for C#</Summary>
  21. <PackageProjectUrl>https://github.com/JeffreySu/WeiXinMPSDK</PackageProjectUrl>
  22. <PackageIconUrl>http://sdk.weixin.senparc.com/Images/Logo.jpg</PackageIconUrl>
  23. <PackageReleaseNotes>
  24. v1.0.0
  25. 重构代码,从原来的Senparc.Weixin.MP.dll中分离基类代码
  26. v1.4.0
  27. 重构代码,完全兼容公众账号及企业号。
  28. v1.5.0
  29. 添加统一的消息加密接口
  30. v1.6.0
  31. 添加消息去重功能
  32. v1.6.1
  33. 完善消息去重功能
  34. v2.0.0
  35. 重构代码,加入AppStore接口
  36. v3.0.0
  37. .NET框架升级到4.0
  38. v 3.3.4
  39. 区分企业号与公众号的返回码
  40. post表单处理修改
  41. v 3.3.6
  42. 修改HttpUtility方法
  43. v3.3.7 添加 验证服务器证书回调自动验证功能
  44. v3.3.8 稳定版本
  45. v3.3.9 优化PostModel基类属性,稳定版本
  46. v4.1.0 添加异步代码,支持.NET 4.5
  47. v4.2.1 完善异步方法,添加JSON生成过程中null对象的过滤机制。
  48. v4.2.3 完善底层代码
  49. v4.3.2 增加统一的Container和Bag管理器
  50. v4.4.1 重构,增加Debug跟踪功能
  51. v4.5 添加分布式缓存接口
  52. v4.5.6 优化缓存策略
  53. v4.5.12 优化缓存策略结构
  54. v4.5.14 优化重构
  55. v4.5.17 优化列队及缓存方案
  56. v4.5.19 优化Http通讯方法
  57. v4.5.20 添加消息接口IResponseMessageNoResponse
  58. v4.5.22 添加BaseContainerBag.Name
  59. v4.6.0
  60. 优化EntityHelper等方法
  61. v4.7.3
  62. 重构缓存及Container相关
  63. v4.7.4 解决Container无法注册的问题
  64. v4.7.5
  65. 添加TryReRegister()方法,处理分布式缓存重启(丢失)的情况
  66. v4.7.7
  67. 重构缓存键命名空间规则,添加Config.DefaultCacheNamespace
  68. v4.8.0
  69. 修正在ResponseMessage都null的情况下,没有对_textResponseMessage做判断就直接返回空字符串的问题
  70. v4.9.0 重构缓存,添加ObjectCacheStrategy
  71. v4.9.1 重写WxJsonResult.ToString()方法,输出带格式的内容。
  72. v4.9.2 Senparc.Weixin v4.9.2 添加FileHelper
  73. v4.9.3 添加小程序返回码添加小程序返回码
  74. v4.9.5 添加Sex枚举
  75. v4.9.6 修改错别字Browser-&gt;Browser,请注意全局替换更新
  76. v4.9.7
  77. 1、WeixinTrace使用同步锁,取代原先的本地锁
  78. 2、修改日志储存路径,新路径为/App_Data/WeixinTraceLog/SenparcWeixinTrace-yyyyMMdd.log
  79. 3、完善异常日志记录
  80. v4.9.8 将SendLog方法改名为SendApiLog
  81. v4.9.9
  82. 1、优化WeixinTrace
  83. 2、统一MessageHandlerException、UnknownRequestMsgTypeException的构造函数调用(将第一个构造函数的base改为this);
  84. 3、修改UnknownRequestMsgTypeException的基类为MessageHandlerException
  85. 4、添加【ReturnCode.template_id】不正确枚举
  86. 5、修改ErrorJsonResultException日志记录格式
  87. v4.9.11 添加SuccessResponseMessageBase类型响应信息基类
  88. v4.9.14
  89. 为AsUrlData方法添加null判断
  90. v4.9.15 添加AES加密、解密算法
  91. v4.10.0 添加TemplateMessageBase作为所有模板消息数据实体基类
  92. Senparc.Weixin v4.10.1 添加SerializerHelper.GetObject方法
  93. v4.10.3 BaseContainer添加RemoveFromCache方法
  94. v4.10.4 优化FileHelper.GetFileStream方法
  95. v4.11.0 重构分布式锁
  96. v4.11.1 添加【ReturnCode.appsecret不正确】枚举类型(invalid appsecret,40125)
  97. v4.11.2 :
  98. 修改SideInWeixinBrowser判断逻辑
  99. v4.11.3 :
  100. 日志中添加对线程的记录
  101. v4.11.4 :
  102. 修改EncryptHelper.GetSha1(string encypStr)方法算法
  103. v4.11.5:修复WeixinJsonConventer.Serialize中的错误。
  104. v4.11.6:修改注释,整理文件
  105. v4.11.7 请求证书都改为 X509Certificate2 类型
  106. v4.11.8 (MessageHandler V3.2)修复 TextResponseMessage 不输出加密信息的问题
  107. v4.11.9 修改Download方法
  108. v4.11.10 恢复.net core版本中的EncryptHelper.GetSha1()方法可用
  109. v4.11.11 添加MessageHandlerExtensions
  110. v4.12.0 优化最新 .NET Core 模块
  111. v4.12.1 修复因为netstandard1.6条件编译符不正确造成的部分代码短路
  112. v4.12.2 修复HttpUtility.UrlEncode .net core方法错误
  113. v4.12.3 修复HttpUtility.UrlEncode .net 4.5方法错误
  114. v4.12.1 修复因为netstandard1.6条件编译符不正确造成的部分代码短路
  115. 添加SenparcWeixinSetting配置类
  116. v4.12.2 修复HttpUtility.UrlEncode .net core方法错误
  117. v4.12.3 修复HttpUtility.UrlEncode .net 4.5方法错误
  118. v4.12.4 MessageHandler基类默认开启消息去重,不再需要手动设置(messageHandler.OmitRepeatedMessage = true)
  119. v4.12.5 提供对企业微信的支持:添加WorkJsonResult(企业微信返回消息基类)、ReturnCode_Work(枚举)
  120. v4.12.5 提供对企业微信的支持:添加WorkJsonResult(企业微信返回消息基类)、ReturnCode_Work(枚举)
  121. v4.12.6 添加ASCIISort比较类,用于ASCII字典排序
  122. v4.13.0
  123. 1、IJsonResult 接口添加 ErrorCodeValue 属性
  124. 2、添加MutipleCacheTestHelper类(多种缓存测试帮助类)
  125. 3、添加ReflectionHelper类(反射帮助类)
  126. 4、完善本地缓存策略插入key
  127. v4.13.1 优化ApiHandlerWapperBase.TryCommonApiBaseAsync()方法
  128. v4.13.2 添加RequestMessageTextExtension的大小写是否敏感设置
  129. v4.13.3 为RequestUtility.HttpGet()方法添加Accept、UserAgent、KeepAlive设置
  130. v4.13.4 修改企业微信APPId判断标准错误(使用新规则)
  131. v4.13.5
  132. 1、完善AppId未注册提示
  133. 2、修复ApiHandlerWapperBase.TryCommonApiBase()方法自动刷新AccessToken的问题
  134. 3、提供统一的EntityHelper
  135. 4、ReturnCode添加:没有留言权限 = 88000
  136. v4.14.0
  137. 1、修复RequestMessageTextExtension.GetResponseMessage()方法判断问题
  138. 2、支持.NET Core 2.0
  139. v4.14.3 重构MD5生成方法,并提供小写MD5方法
  140. v4.14.4 常规更新
  141. v4.15.0
  142. 1、添加 WeixinNullReferenceException 异常类型
  143. 2、添加 UrlUtility(Url工具类),生成 OAuth 用的额 CallbackUrl 参数
  144. v4.15.1 优化 DateTimeHelper 计算方式
  145. v4.16.0 添加 Senparc.Weixin.Config.UseSandBoxPay 属性,使用微信支付接口时自动判断是否调用沙箱
  146. v4.16.1 (.NET Core)添加CoreWebProxy.cs
  147. v4.16.3 在 NetStandard 2.0中恢复 WeixinTrace 的日志功能
  148. v4.16.4 在 2017年9月26日企业号长度变化,对应修改IsAppId()方法逻辑
  149. v4.16.5 尝试解决微信{utf8"编码字符串带来的.net core runtime 对 content-type的解析错误
  150. v4.16.6 提供NETCOREAPP2_0编译
  151. v4.16.7 继续解决.net core 2.0下utf8和utf-8的问题处理
  152. v4.16.8 优化 .net core 2.0 RequestUtility异步方法
  153. v4.16.9 添加 ObjectExtensions,补充扩展方法
  154. v4.16.10 优化.net core环境下的WeixinTrace日志输出路径
  155. v4.17.0-beta1 重构HttpUtility,重新支持 .NET 4.0
  156. v4.17.0-beta3 重新支持 .NET 3.5
  157. v4.17.0-beta4 优化
  158. v4.17.1 优化WeixinTrace
  159. v4.17.2 丰富SenparcWeixinSetting参数
  160. v4.17.3 添加RequestUtility.HttpResponseGet()方法,提供外部测试通道
  161. v4.18.0 RequestUtility的Post和Get方法开始支持模拟Ajax请求
  162. v4.18.1 修改Get.Download()方法
  163. v4.18.2 新建SenparcHttpResponse,重构重构RequestUtility.HttpPost()方法
  164. v4.18.3 v4.18.2-beta发布正式版
  165. v4.18.4 修正当.net core 2.0中对请求的流不支持Seek 时的判断
  166. v4.18.5 添加Config.ApiMpHost属性,可以设置API域名
  167. v4.18.6 重新设置企业微信默认域名
  168. v4.18.7 调整HttpUtility.Get.Download(string url, string filePathName),改为输入完整文件路径+文件名
  169. v4.18.8 优化CommonJsonSend中的方法,并完善Post数据的日志记录
  170. v4.18.9 优化MD5获取方法:EncryptHelper.GetMD5()
  171. v4.18.10 添加 EncryptHelper.GetHmacSha256() 方法,为“小游戏”签名提供支持
  172. v4.18.11 添加 WeixinObsoleteException,用于标记接口或方法过期异常
  173. v4.18.13
  174. 1、添加 Config.ApiMpFileHost 公众号文件下载域名
  175. 2、修改 HttpUtility.Get.Download() 方法,根据 Content-Disposition 中的文件名储存文件
  176. v4.18.14 优化 HttpUtility.RequestUtility.HttpPost() 方法,优化文件流上传
  177. v4.19.0 支持异步 MessageHandler
  178. v4.20.0 停止对 .net core 1.1 生成的独立版本
  179. v4.20.1 提供 RegisterServices 进行快捷注册
  180. v4.20.2
  181. 1、添加IRequestMessageTextOrEvent,作为所有文本(RequestMessageText)或事件(RequestMessageEvent)接口
  182. 2、添加IRequestMessageEvent作为所有事件(RequestMessageEvent接口)
  183. v4.20.3 为 .NET Core 优化 UrlUtility.GenerateOAuthCallbackUrl() 方法中的端口获取过程
  184. v4.20.4 增加对小程序 web-view 内打开页面的判断方法 BrowserUtility.SideInWeixinMiniProgram()
  185. v4.21.0-rc1 支持 .NET Core 2.1.2
  186. v4.21.2-rc1 完善 .net core 注册流程
  187. v4.21.3-rc1 为 .net core 2.1 改进条件编译
  188. v4.21.4-rc1 完善 .net core 环境下的文件上传机制,解决文件占用问题
  189. v4.21.5-rc1 修改 TenPayV3Util.DecodeRefundReqInfo() 方法,解决重复 base64 解码的问题
  190. v4.21.6-rc1 添加 RequestUtility.GetRequestMemoryStream() 方法
  191. v4.22.0-rc1 将 JsonSetting 继承 JsonSerializerSettings,使用 Newtonsoft.Json 进行序列化
  192. v4.22.1-rc1
  193. 1、丰富 SenparcWeixinSetting 参数(Component_Token、Component_EncodingAESKey)
  194. 2、添加 RequestExtension
  195. v4.22.1 发布支持 .net core 2.1 的正式版
  196. v4.22.2 完善 RequestUtility.HttpPost_Common_NetCore() 字符串信息提交过程
  197. v5.0.0 引入 Senparc.CO2NET
  198. v5.0.2-preview1 支持 CO2NET v0.1.2
  199. v5.0.3.1-perview
  200. v5.0.6.1 支持 CO2NET v0.1.6.1 解决 XXE 漏洞
  201. v5.0.7 支持 CO2NET v0.1.7,为 WeixinRegister.UseSenparcWeixin() 方法提供自动注册扩展缓存的能力
  202. v5.0.8
  203. 1、SenparcWeixinSetting 构造函数提供 isDebug 参数
  204. 2、优化扩展缓存自动注册过程
  205. v5.0.8.4 优化 WeixinRegister.UseSenparcWeixin() 提供 autoScanExtensionCacheStrategies 参数,可设置是否全局扫描扩展缓存(扫描会增加系统启动时间)
  206. v5.0.9
  207. 1、支持 CO2NET v0.1.9,扩展缓存扫描方式重构
  208. 2、重构 SenparcWeixinSetting 参数,添加公众号信息集中管理功能
  209. 3、重构账号注册过程
  210. v5.0.10 支持 CO2NET v0.1.10,将 SenparcWeixinSetting 中的 Redis 和 Memcached 配置参数调整到 CO2NET 的 SenparcSetting 中
  211. v5.0.11 支持 CO2NET v0.1.11
  212. v5.1.0 支持 CO2NET v0.2.0,重构Container代码
  213. v5.1.2 Config.SenparcWeixinSetting 提供默认实例
  214. v5.1.3
  215. 1、支持 CO2NET v0.2.3
  216. 2、优化 UrlUtility.GenerateOAuthCallbackUrl() 方法
  217. v5.1.4 支持 CO2NET v0.2.4
  218. v5.1.6 支持 CO2NET v0.2.6
  219. v5.1.7 优化 SenparcWeixinSetting,分离不同模块接口
  220. v5.1.8 支持 CO2NET v0.2.8
  221. v6.0.0 支持 NeuChar 标准,分离 MessageHandlers 和 WeixinContext
  222. v6.0.1 支持 CO2NET v0.2.10
  223. v6.0.2 优化 NeuChar 标准
  224. v6.0.4 UrlUtility.GenerateOAuthCallbackUrl() 方法,更好支持反向代理
  225. v6.1.0 支持 Senparc.NeuChar v0.1.2,BaseContainer.GetFirstOrDefaultAppId() 方法添加 PlatformType 属性
  226. v6.1.1 还原 v6.0.4 的修改
  227. v6.1.2 支持 Senparc.NeuChar v0.1.4
  228. v6.1.3 支持 Senparc.NeuChar v0.2.1
  229. v6.1.4 支持 Senparc.CO2NET v0.2.14,Senparc.NeuChar v0.2.5
  230. v6.1.5 Senparc.NeuChar v0.2.7
  231. v6.1.7 支持 Senparc.NeuChar v0.2.9.1
  232. v6.1.8 Senparc.NeuChar v0.2.11,升级 MessageHandler
  233. v6.1.10 改进 TryCommonApiBase 方法
  234. v6.2.0 升级 Senparc.NeuChar,支持 APM
  235. v6.2.1 支持 Senparc.NeuChar v0.4.4
  236. v6.3.0
  237. 1、使用 .NETStandard2.0 统一支持 .NET Core,放弃对 .NET Core 1.x 的单独适配
  238. 2、完善子账号 SubMchId 相关参数
  239. v6.3.4 添加快速创建小程序接口
  240. v6.3.6 支持在子程序环境下获取 OAuth 回调地址
  241. v6.3.9 支持最新版本 Senparc.NeuChar
  242. v6.3.10 支持最新版本 Senparc.NeuChar
  243. v6.3.11 优化 BaseContainer
  244. </PackageReleaseNotes>
  245. <RepositoryUrl>https://github.com/JeffreySu/WeiXinMPSDK</RepositoryUrl>
  246. </PropertyGroup>
  247. <PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
  248. <OutputPath>..\..\Senparc.Weixin.MP.BuildOutPut</OutputPath>
  249. <DefineConstants>TRACE;RELEASE</DefineConstants>
  250. </PropertyGroup>
  251. <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
  252. <OutputPath>..\..\Senparc.Weixin.MP.BuildOutPut</OutputPath>
  253. <DefineConstants>$(DefineConstants);RELEASE</DefineConstants>
  254. <DocumentationFile>..\..\Senparc.Weixin.MP.BuildOutPut\Senparc.Weixin.XML</DocumentationFile>
  255. <Optimize>true</Optimize>
  256. <DebugType>pdbonly</DebugType>
  257. <ErrorReport>prompt</ErrorReport>
  258. <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
  259. </PropertyGroup>
  260. <PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Release|net35|AnyCPU'">
  261. <OutputPath>..\..\Senparc.Weixin.MP.BuildOutPut\</OutputPath>
  262. <DocumentationFile>..\..\Senparc.Weixin.MP.BuildOutPut\net35\Senparc.Weixin.xml</DocumentationFile>
  263. </PropertyGroup>
  264. <PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Release|net40|AnyCPU'">
  265. <OutputPath>..\..\Senparc.Weixin.MP.BuildOutPut\</OutputPath>
  266. <DocumentationFile>..\..\Senparc.Weixin.MP.BuildOutPut\net40\Senparc.Weixin.xml</DocumentationFile>
  267. </PropertyGroup>
  268. <PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Release|net45|AnyCPU'">
  269. <OutputPath>..\..\Senparc.Weixin.MP.BuildOutPut\</OutputPath>
  270. <DocumentationFile>..\..\Senparc.Weixin.MP.BuildOutPut\net45\Senparc.Weixin.xml</DocumentationFile>
  271. </PropertyGroup>
  272. <!--<PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Release|netstandard1.6|AnyCPU'">
  273. <OutputPath>..\..\Senparc.Weixin.MP.BuildOutPut\</OutputPath>
  274. <DocumentationFile>..\..\Senparc.Weixin.MP.BuildOutPut\netstandard1.6\Senparc.Weixin.xml</DocumentationFile>
  275. </PropertyGroup>-->
  276. <PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Release|netstandard2.0|AnyCPU'">
  277. <OutputPath>..\..\Senparc.Weixin.MP.BuildOutPut\</OutputPath>
  278. <DocumentationFile>..\..\Senparc.Weixin.MP.BuildOutPut\netstandard2.0\Senparc.Weixin.xml</DocumentationFile>
  279. </PropertyGroup>
  280. <ItemGroup>
  281. <Compile Remove="Cache\ContainerCacheStrategy\ContainerItemCollection.cs" />
  282. <Compile Remove="Properties\AssemblyInfo.cs" />
  283. <Compile Remove="Tencent\Sample.cs" />
  284. </ItemGroup>
  285. <ItemGroup>
  286. <None Remove="Tencent\Readme.txt" />
  287. </ItemGroup>
  288. <ItemGroup>
  289. <PackageReference Include="Newtonsoft.Json" Version="12.0.1" />
  290. <PackageReference Include="Senparc.CO2NET" Version="0.5.2" />
  291. <PackageReference Include="Senparc.NeuChar" Version="0.6.4" />
  292. </ItemGroup>
  293. <ItemGroup Condition=" '$(TargetFramework)' == 'net35' ">
  294. <Reference Include="System.Core" />
  295. <Reference Include="System.Data" />
  296. <Reference Include="System.Data.DataSetExtensions" />
  297. <!--<Reference Include="System.Net.Http" />-->
  298. <Reference Include="System.Runtime.Serialization" />
  299. <Reference Include="System.Web" />
  300. <Reference Include="System.Web.Extensions" />
  301. <Reference Include="System.Xml" />
  302. <Reference Include="System.Xml.Linq" />
  303. <Reference Include="System.Configuration" />
  304. </ItemGroup>
  305. <ItemGroup Condition=" '$(TargetFramework)' == 'net40' ">
  306. <Reference Include="System.Core" />
  307. <Reference Include="System.Data" />
  308. <Reference Include="System.Data.DataSetExtensions" />
  309. <!--<Reference Include="System.Net.Http" />-->
  310. <Reference Include="System.Runtime.Serialization" />
  311. <Reference Include="System.Web" />
  312. <Reference Include="System.Web.Extensions" />
  313. <Reference Include="System.Xml" />
  314. <Reference Include="System.Xml.Linq" />
  315. <Reference Include="System.Configuration" />
  316. </ItemGroup>
  317. <ItemGroup Condition=" '$(TargetFramework)' == 'net45' ">
  318. <Reference Include="System.Core" />
  319. <Reference Include="System.Data" />
  320. <Reference Include="System.Data.DataSetExtensions" />
  321. <Reference Include="System.Net.Http" />
  322. <Reference Include="System.Runtime.Serialization" />
  323. <Reference Include="System.Web" />
  324. <Reference Include="System.Web.Extensions" />
  325. <Reference Include="System.Xml" />
  326. <Reference Include="System.Xml.Linq" />
  327. <Reference Include="System.Configuration" />
  328. </ItemGroup>
  329. <ItemGroup Condition=" '$(TargetFramework)' == 'net461' ">
  330. <Reference Include="System.Xml.Linq" />
  331. <Reference Include="System.Xml" />
  332. <Reference Include="System" />
  333. <Reference Include="System.Web" />
  334. <Reference Include="System.Net.Http" />
  335. <Reference Include="Microsoft.CSharp" />
  336. <Reference Include="System.Configuration" />
  337. </ItemGroup>
  338. <ItemGroup Condition=" '$(TargetFramework)' == 'netstandard2.0' ">
  339. <PackageReference Include="Microsoft.AspNetCore.Http" Version="2.2.0" />
  340. <PackageReference Include="Microsoft.AspNetCore.Http.Abstractions" Version="2.2.0" />
  341. <PackageReference Include="Microsoft.Extensions.Options" Version="2.2.0" />
  342. <PackageReference Include="System.Dynamic.Runtime" Version="4.3.0" />
  343. <PackageReference Include="System.Threading.Thread" Version="4.3.0" />
  344. <PackageReference Include="System.Xml.XmlSerializer" Version="4.3.0" />
  345. <PackageReference Include="System.Diagnostics.TraceSource" Version="4.3.0" />
  346. </ItemGroup>
  347. <!--<ItemGroup>
  348. <Reference Include="Microsoft.Extensions.Hosting.Abstractions">
  349. <HintPath>C:\Program Files\dotnet\sdk\NuGetFallbackFolder\microsoft.extensions.hosting.abstractions\2.1.0-rc1-final\lib\netstandard2.0\Microsoft.Extensions.Hosting.Abstractions.dll</HintPath>
  350. </Reference>
  351. </ItemGroup>-->
  352. </Project>