├── .gitattributes ├── Consul ├── conf │ └── 只为生成此目录.txt ├── consul.exe ├── data │ └── 只为生成此目录.txt ├── dist │ └── 只为生成此目录.txt └── startup.bat ├── README.md └── Snai.GrpcService ├── .vs ├── Snai.GrpcService │ └── v15 │ │ ├── .suo │ │ └── Server │ │ └── sqlite3 │ │ ├── db.lock │ │ ├── storage.ide │ │ ├── storage.ide-shm │ │ └── storage.ide-wal └── config │ └── applicationhost.config ├── Snai.GrpcClient ├── Consul │ ├── AppFind.cs │ ├── Entity │ │ └── HealthCheck.cs │ └── IAppFind.cs ├── Framework │ ├── DependencyInitialize.cs │ └── Entity │ │ ├── ConsulService.cs │ │ └── GrpcServiceSettings.cs ├── LoadBalance │ ├── ILoadBalance.cs │ └── WeightRoundBalance.cs ├── Program.cs ├── RpcClient │ ├── IMsgClient.cs │ └── MsgClient.cs ├── Snai.GrpcClient.csproj ├── Utils │ └── HttpHelper.cs ├── appsettings.json └── obj │ ├── Debug │ └── netcoreapp2.0 │ │ ├── Snai.GrpcClient.AssemblyInfo.cs │ │ ├── Snai.GrpcClient.AssemblyInfoInputs.cache │ │ ├── Snai.GrpcClient.csproj.CopyComplete │ │ ├── Snai.GrpcClient.csproj.CoreCompileInputs.cache │ │ ├── Snai.GrpcClient.csproj.FileListAbsolute.txt │ │ ├── Snai.GrpcClient.csprojResolveAssemblyReference.cache │ │ ├── Snai.GrpcClient.dll │ │ └── Snai.GrpcClient.pdb │ ├── Snai.GrpcClient.csproj.nuget.cache │ ├── Snai.GrpcClient.csproj.nuget.g.props │ ├── Snai.GrpcClient.csproj.nuget.g.targets │ └── project.assets.json ├── Snai.GrpcService.Hosting ├── Consul │ ├── AppRregister.cs │ └── Entity │ │ ├── ConsulService.cs │ │ └── HealthService.cs ├── Program.cs ├── Properties │ └── launchSettings.json ├── Snai.GrpcService.Hosting.csproj ├── Snai.GrpcService.Hosting.csproj.user ├── Startup.cs ├── appsettings.json └── obj │ ├── Debug │ └── netcoreapp2.0 │ │ ├── Snai.GrpcService.Hosting.AssemblyInfo.cs │ │ ├── Snai.GrpcService.Hosting.AssemblyInfoInputs.cache │ │ ├── Snai.GrpcService.Hosting.csproj.CopyComplete │ │ ├── Snai.GrpcService.Hosting.csproj.CoreCompileInputs.cache │ │ ├── Snai.GrpcService.Hosting.csproj.FileListAbsolute.txt │ │ ├── Snai.GrpcService.Hosting.csprojResolveAssemblyReference.cache │ │ ├── Snai.GrpcService.Hosting.dll │ │ └── Snai.GrpcService.Hosting.pdb │ ├── Snai.GrpcService.Hosting.csproj.nuget.cache │ ├── Snai.GrpcService.Hosting.csproj.nuget.g.props │ ├── Snai.GrpcService.Hosting.csproj.nuget.g.targets │ └── project.assets.json ├── Snai.GrpcService.Impl ├── Entity │ └── GrpcService.cs ├── IRpcConfig.cs ├── RpcConfig.cs ├── RpcService │ └── MsgServiceImpl.cs ├── Snai.GrpcService.Impl.csproj └── obj │ ├── Debug │ └── netstandard2.0 │ │ ├── Snai.GrpcService.Impl.AssemblyInfo.cs │ │ ├── Snai.GrpcService.Impl.AssemblyInfoInputs.cache │ │ ├── Snai.GrpcService.Impl.csproj.CopyComplete │ │ ├── Snai.GrpcService.Impl.csproj.CoreCompileInputs.cache │ │ ├── Snai.GrpcService.Impl.csproj.FileListAbsolute.txt │ │ ├── Snai.GrpcService.Impl.csprojResolveAssemblyReference.cache │ │ ├── Snai.GrpcService.Impl.dll │ │ └── Snai.GrpcService.Impl.pdb │ ├── Snai.GrpcService.Impl.csproj.nuget.cache │ ├── Snai.GrpcService.Impl.csproj.nuget.g.props │ ├── Snai.GrpcService.Impl.csproj.nuget.g.targets │ └── project.assets.json ├── Snai.GrpcService.Protocol ├── Msg.cs ├── MsgGrpc.cs ├── ProtocGenerate.cmd ├── Snai.GrpcService.Protocol.csproj ├── Snai.GrpcService.Protocol.csproj.user ├── grpc_csharp_plugin.exe ├── msg.proto ├── obj │ ├── Debug │ │ └── netstandard2.0 │ │ │ ├── Snai.GrpcService.Protocol.AssemblyInfo.cs │ │ │ ├── Snai.GrpcService.Protocol.AssemblyInfoInputs.cache │ │ │ ├── Snai.GrpcService.Protocol.csproj.CoreCompileInputs.cache │ │ │ ├── Snai.GrpcService.Protocol.csproj.FileListAbsolute.txt │ │ │ ├── Snai.GrpcService.Protocol.csprojResolveAssemblyReference.cache │ │ │ ├── Snai.GrpcService.Protocol.dll │ │ │ └── Snai.GrpcService.Protocol.pdb │ ├── Snai.GrpcService.Protocol.csproj.nuget.cache │ ├── Snai.GrpcService.Protocol.csproj.nuget.g.props │ ├── Snai.GrpcService.Protocol.csproj.nuget.g.targets │ └── project.assets.json └── protoc.exe └── Snai.GrpcService.sln /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | -------------------------------------------------------------------------------- /Consul/conf/只为生成此目录.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Liu-Alan/Grpc-Consul/c0fb219e3739756f6fdb659b50a220be50bd4894/Consul/conf/只为生成此目录.txt -------------------------------------------------------------------------------- /Consul/consul.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Liu-Alan/Grpc-Consul/c0fb219e3739756f6fdb659b50a220be50bd4894/Consul/consul.exe -------------------------------------------------------------------------------- /Consul/data/只为生成此目录.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Liu-Alan/Grpc-Consul/c0fb219e3739756f6fdb659b50a220be50bd4894/Consul/data/只为生成此目录.txt -------------------------------------------------------------------------------- /Consul/dist/只为生成此目录.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Liu-Alan/Grpc-Consul/c0fb219e3739756f6fdb659b50a220be50bd4894/Consul/dist/只为生成此目录.txt -------------------------------------------------------------------------------- /Consul/startup.bat: -------------------------------------------------------------------------------- 1 | consul agent -server -datacenter=grpc-consul -bootstrap -data-dir ./data -ui -node=grpc-consul1 -bind 127.0.0.1 -client=0.0.0.0 -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Grpc-Consul 2 | .net core grpc consul 实现服务注册 服务发现 负载均衡 3 | -------------------------------------------------------------------------------- /Snai.GrpcService/.vs/Snai.GrpcService/v15/.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Liu-Alan/Grpc-Consul/c0fb219e3739756f6fdb659b50a220be50bd4894/Snai.GrpcService/.vs/Snai.GrpcService/v15/.suo -------------------------------------------------------------------------------- /Snai.GrpcService/.vs/Snai.GrpcService/v15/Server/sqlite3/db.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Liu-Alan/Grpc-Consul/c0fb219e3739756f6fdb659b50a220be50bd4894/Snai.GrpcService/.vs/Snai.GrpcService/v15/Server/sqlite3/db.lock -------------------------------------------------------------------------------- /Snai.GrpcService/.vs/Snai.GrpcService/v15/Server/sqlite3/storage.ide: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Liu-Alan/Grpc-Consul/c0fb219e3739756f6fdb659b50a220be50bd4894/Snai.GrpcService/.vs/Snai.GrpcService/v15/Server/sqlite3/storage.ide -------------------------------------------------------------------------------- /Snai.GrpcService/.vs/Snai.GrpcService/v15/Server/sqlite3/storage.ide-shm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Liu-Alan/Grpc-Consul/c0fb219e3739756f6fdb659b50a220be50bd4894/Snai.GrpcService/.vs/Snai.GrpcService/v15/Server/sqlite3/storage.ide-shm -------------------------------------------------------------------------------- /Snai.GrpcService/.vs/Snai.GrpcService/v15/Server/sqlite3/storage.ide-wal: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Liu-Alan/Grpc-Consul/c0fb219e3739756f6fdb659b50a220be50bd4894/Snai.GrpcService/.vs/Snai.GrpcService/v15/Server/sqlite3/storage.ide-wal -------------------------------------------------------------------------------- /Snai.GrpcService/Snai.GrpcClient/Consul/AppFind.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.Extensions.Options; 2 | using Newtonsoft.Json; 3 | using Snai.GrpcClient.Consul.Entity; 4 | using Snai.GrpcClient.Framework.Entity; 5 | using Snai.GrpcClient.Utils; 6 | using System; 7 | using System.Collections.Generic; 8 | using System.Linq; 9 | using System.Text; 10 | 11 | namespace Snai.GrpcClient.Consul 12 | { 13 | /* 14 | * 服务发现 15 | * (服务和健康信息)http://localhost:8500/v1/health/service/GrpcService 16 | * (健康信息)http://localhost:8500/v1/health/checks/GrpcService 17 | */ 18 | public class AppFind: IAppFind 19 | { 20 | static IOptions GrpcSettings; 21 | static IOptions ConsulSettings; 22 | 23 | public AppFind(IOptions grpcSettings, IOptions consulSettings) 24 | { 25 | GrpcSettings = grpcSettings; 26 | ConsulSettings = consulSettings; 27 | } 28 | 29 | public IEnumerable FindConsul(string ServiceName) 30 | { 31 | Dictionary headers = new Dictionary(); 32 | 33 | var consul = ConsulSettings.Value; 34 | string findUrl = $"http://{consul.IP}:{consul.Port}/v1/health/checks/{ServiceName}"; 35 | 36 | string findResult = HttpHelper.HttpGet(findUrl, headers, 5); 37 | if (findResult.Equals("")) 38 | { 39 | var grpcServices = GrpcSettings.Value.GrpcServices; 40 | return grpcServices.Where(g=>g.ServiceName.Equals(ServiceName,StringComparison.CurrentCultureIgnoreCase)).Select(s => s.ServiceID); 41 | } 42 | 43 | var findCheck = JsonConvert.DeserializeObject>(findResult); 44 | 45 | return findCheck.Where(g => g.Status.Equals("passing", StringComparison.CurrentCultureIgnoreCase)).Select(g => g.ServiceID); 46 | } 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /Snai.GrpcService/Snai.GrpcClient/Consul/Entity/HealthCheck.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace Snai.GrpcClient.Consul.Entity 6 | { 7 | public class HealthCheck 8 | { 9 | public string Node { get; set; } 10 | public string CheckID { get; set; } 11 | public string Name { get; set; } 12 | public string Status { get; set; } 13 | public string Notes { get; set; } 14 | public string Output { get; set; } 15 | public string ServiceID { get; set; } 16 | public string ServiceName { get; set; } 17 | public string[] ServiceTags { get; set; } 18 | public dynamic Definition { get; set; } 19 | public int CreateIndex { get; set; } 20 | public int ModifyIndex { get; set; } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /Snai.GrpcService/Snai.GrpcClient/Consul/IAppFind.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace Snai.GrpcClient.Consul 6 | { 7 | public interface IAppFind 8 | { 9 | IEnumerable FindConsul(string ServiceName); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /Snai.GrpcService/Snai.GrpcClient/Framework/DependencyInitialize.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.Extensions.Configuration; 2 | using Microsoft.Extensions.DependencyInjection; 3 | using Snai.GrpcClient.Consul; 4 | using Snai.GrpcClient.Framework.Entity; 5 | using Snai.GrpcClient.LoadBalance; 6 | using Snai.GrpcClient.RpcClient; 7 | using System; 8 | using System.Collections.Generic; 9 | using System.IO; 10 | using System.Text; 11 | 12 | namespace Snai.GrpcClient.Framework 13 | { 14 | /* 15 | * IServiceCollection 依赖注入生命周期 16 | * AddTransient 每次都是全新的 17 | * AddScoped 在一个范围之内只有同一个实例(同一个线程,同一个浏览器请求只有一个实例) 18 | * AddSingleton 单例 19 | */ 20 | public static class DependencyInitialize 21 | { 22 | /// 23 | /// 注册对象 24 | /// 25 | /// The services. 26 | /* 27 | * IAppFind AppFind; 28 | * 构造函数注入使用 IAppFind appFind 29 | * AppFind = appFind; 30 | */ 31 | public static void AddImplement(this IServiceCollection services) 32 | { 33 | //添加 json 文件路径 34 | var builder = new ConfigurationBuilder().SetBasePath(Directory.GetCurrentDirectory()).AddJsonFile("appsettings.json"); 35 | //创建配置根对象 36 | var configurationRoot = builder.Build(); 37 | 38 | //注册全局配置 39 | services.AddConfigImplement(configurationRoot); 40 | 41 | //注册服务发现 42 | services.AddScoped(); 43 | 44 | //注册负载均衡 45 | if (configurationRoot["LoadBalancer"].Equals("WeightRound", StringComparison.CurrentCultureIgnoreCase)) 46 | { 47 | services.AddSingleton(); 48 | } 49 | 50 | //注册Rpc客户端 51 | services.AddTransient(); 52 | } 53 | 54 | /// 55 | /// 注册全局配置 56 | /// 57 | /// The services. 58 | /// The configurationRoot. 59 | /* 60 | * IOptions GrpcSettings; 61 | * 构造函数注入使用 IOptions grpcSettings 62 | * GrpcSettings = grpcSettings; 63 | */ 64 | public static void AddConfigImplement(this IServiceCollection services, IConfigurationRoot configurationRoot) 65 | { 66 | //注册配置对象 67 | services.AddOptions(); 68 | services.Configure(configurationRoot.GetSection(nameof(GrpcServiceSettings))); 69 | services.Configure(configurationRoot.GetSection(nameof(ConsulService))); 70 | } 71 | } 72 | } 73 | -------------------------------------------------------------------------------- /Snai.GrpcService/Snai.GrpcClient/Framework/Entity/ConsulService.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace Snai.GrpcClient.Framework.Entity 6 | { 7 | public class ConsulService 8 | { 9 | public string IP { get; set; } 10 | public int Port { get; set; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /Snai.GrpcService/Snai.GrpcClient/Framework/Entity/GrpcServiceSettings.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace Snai.GrpcClient.Framework.Entity 6 | { 7 | public class GrpcServiceSettings 8 | { 9 | public List GrpcServices { get; set; } 10 | } 11 | 12 | public class GrpcService 13 | { 14 | public string ServiceName { get; set; } 15 | public string ServiceID { get; set; } 16 | public string IP { get; set; } 17 | public int Port { get; set; } 18 | public int Weight { get; set; } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Snai.GrpcService/Snai.GrpcClient/LoadBalance/ILoadBalance.cs: -------------------------------------------------------------------------------- 1 | using Snai.GrpcClient.Framework.Entity; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Text; 5 | 6 | namespace Snai.GrpcClient.LoadBalance 7 | { 8 | /* 9 | * 负载均衡接口 10 | */ 11 | public interface ILoadBalance 12 | { 13 | string GetGrpcService(string ServiceName); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Snai.GrpcService/Snai.GrpcClient/LoadBalance/WeightRoundBalance.cs: -------------------------------------------------------------------------------- 1 | using Snai.GrpcClient.Consul; 2 | using Snai.GrpcClient.Utils; 3 | using System; 4 | using System.Collections.Generic; 5 | using System.Text; 6 | using System.Linq; 7 | using Snai.GrpcClient.Framework.Entity; 8 | using Microsoft.Extensions.Options; 9 | 10 | namespace Snai.GrpcClient.LoadBalance 11 | { 12 | /* 13 | * 权重轮询 14 | */ 15 | public class WeightRoundBalance : ILoadBalance 16 | { 17 | int Balance; 18 | IOptions GrpcSettings; 19 | IAppFind AppFind; 20 | 21 | public WeightRoundBalance(IOptions grpcSettings, IAppFind appFind) 22 | { 23 | Balance = 0; 24 | GrpcSettings = grpcSettings; 25 | AppFind = appFind; 26 | } 27 | 28 | public string GetGrpcService(string ServiceName) 29 | { 30 | var grpcServices = GrpcSettings.Value.GrpcServices; 31 | 32 | var healthServiceID = AppFind.FindConsul(ServiceName); 33 | 34 | if (grpcServices == null || grpcServices.Count() == 0 || healthServiceID == null || healthServiceID.Count() == 0) 35 | { 36 | return ""; 37 | } 38 | 39 | //健康的服务 40 | var healthServices = new List(); 41 | 42 | foreach (var service in grpcServices) 43 | { 44 | foreach (var health in healthServiceID) 45 | { 46 | if (service.ServiceID.Equals(health, StringComparison.CurrentCultureIgnoreCase)) 47 | { 48 | healthServices.Add(service); 49 | break; 50 | } 51 | } 52 | } 53 | 54 | if (healthServices == null || healthServices.Count() == 0) 55 | { 56 | return ""; 57 | } 58 | 59 | //加权轮询 60 | var services = new List(); 61 | 62 | foreach (var service in healthServices) 63 | { 64 | services.AddRange(Enumerable.Repeat(service.IP + ":" + service.Port, service.Weight)); 65 | } 66 | 67 | var servicesArray = services.ToArray(); 68 | 69 | Balance = Balance % servicesArray.Length; 70 | var grpcUrl = servicesArray[Balance]; 71 | Balance = Balance + 1; 72 | 73 | return grpcUrl; 74 | } 75 | } 76 | } 77 | -------------------------------------------------------------------------------- /Snai.GrpcService/Snai.GrpcClient/Program.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.Extensions.DependencyInjection; 2 | using Snai.GrpcClient.Framework; 3 | using Snai.GrpcClient.RpcClient; 4 | using System; 5 | 6 | namespace Snai.GrpcClient 7 | { 8 | class Program 9 | { 10 | static void Main(string[] args) 11 | { 12 | IServiceCollection service = new ServiceCollection(); 13 | 14 | //注册对象 15 | service.AddImplement(); 16 | 17 | //注入使用对象 18 | var provider = service.BuildServiceProvider(); 19 | 20 | string exeArg = string.Empty; 21 | Console.WriteLine("Grpc调用!"); 22 | Console.WriteLine("-c\t调用Grpc服务;"); 23 | Console.WriteLine("-q\t退出服务;"); 24 | 25 | while (true) 26 | { 27 | exeArg = Console.ReadKey().KeyChar.ToString(); 28 | Console.WriteLine(); 29 | 30 | if (exeArg.ToLower().Equals("c", StringComparison.CurrentCultureIgnoreCase)) 31 | { 32 | //调用服务 33 | var rpcClient = provider.GetService(); 34 | rpcClient.GetSum(10, 2); 35 | } 36 | else if (exeArg.ToLower().Equals("q", StringComparison.CurrentCultureIgnoreCase)) 37 | { 38 | break; 39 | } 40 | else 41 | { 42 | Console.WriteLine("参数异常!"); 43 | } 44 | } 45 | } 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /Snai.GrpcService/Snai.GrpcClient/RpcClient/IMsgClient.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace Snai.GrpcClient.RpcClient 6 | { 7 | public interface IMsgClient 8 | { 9 | void GetSum(int num1, int num2); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /Snai.GrpcService/Snai.GrpcClient/RpcClient/MsgClient.cs: -------------------------------------------------------------------------------- 1 | using Grpc.Core; 2 | using Microsoft.Extensions.DependencyInjection; 3 | using Snai.GrpcClient.LoadBalance; 4 | using Snai.GrpcService.Protocol; 5 | using System; 6 | using System.Collections.Generic; 7 | using System.Text; 8 | 9 | namespace Snai.GrpcClient.RpcClient 10 | { 11 | public class MsgClient: IMsgClient 12 | { 13 | ILoadBalance LoadBalance; 14 | Channel GrpcChannel; 15 | MsgService.MsgServiceClient GrpcClient; 16 | 17 | public MsgClient(ILoadBalance loadBalance) 18 | { 19 | LoadBalance = loadBalance; 20 | 21 | var grpcUrl = LoadBalance.GetGrpcService("GrpcService"); 22 | 23 | if (!grpcUrl.Equals("")) 24 | { 25 | Console.WriteLine($"Grpc Service:{grpcUrl}"); 26 | 27 | GrpcChannel = new Channel(grpcUrl, ChannelCredentials.Insecure); 28 | GrpcClient = new MsgService.MsgServiceClient(GrpcChannel); 29 | } 30 | } 31 | 32 | public void GetSum(int num1, int num2) 33 | { 34 | if (GrpcClient != null) 35 | { 36 | GetMsgSumReply msgSum = GrpcClient.GetSum(new GetMsgNumRequest 37 | { 38 | Num1 = num1, 39 | Num2 = num2 40 | }); 41 | 42 | Console.WriteLine("Grpc Client Call GetSum():" + msgSum.Sum); 43 | } 44 | else 45 | { 46 | Console.WriteLine("所有负载都挂掉了!"); 47 | } 48 | } 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /Snai.GrpcService/Snai.GrpcClient/Snai.GrpcClient.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exe 5 | netcoreapp2.0 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | Always 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /Snai.GrpcService/Snai.GrpcClient/Utils/HttpHelper.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Net.Http; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | /* 7 | * 参考 pudefu https://www.cnblogs.com/pudefu/p/7581956.html ,在此表示感谢 8 | */ 9 | namespace Snai.GrpcClient.Utils 10 | { 11 | public class HttpHelper 12 | { 13 | /// 14 | /// 同步GET请求 15 | /// 16 | /// 17 | /// 18 | /// 请求响应超时时间,单位/s(默认100秒) 19 | /// 20 | public static string HttpGet(string url, Dictionary headers = null, int timeout = 0) 21 | { 22 | using (HttpClient client = new HttpClient()) 23 | { 24 | if (headers != null) 25 | { 26 | foreach (KeyValuePair header in headers) 27 | { 28 | client.DefaultRequestHeaders.Add(header.Key, header.Value); 29 | } 30 | } 31 | if (timeout > 0) 32 | { 33 | client.Timeout = new TimeSpan(0, 0, timeout); 34 | } 35 | Byte[] resultBytes = client.GetByteArrayAsync(url).Result; 36 | return Encoding.UTF8.GetString(resultBytes); 37 | } 38 | } 39 | 40 | /// 41 | /// 异步GET请求 42 | /// 43 | /// 44 | /// 45 | /// 请求响应超时时间,单位/s(默认100秒) 46 | /// 47 | public static async Task HttpGetAsync(string url, Dictionary headers = null, int timeout = 0) 48 | { 49 | using (HttpClient client = new HttpClient()) 50 | { 51 | if (headers != null) 52 | { 53 | foreach (KeyValuePair header in headers) 54 | { 55 | client.DefaultRequestHeaders.Add(header.Key, header.Value); 56 | } 57 | } 58 | if (timeout > 0) 59 | { 60 | client.Timeout = new TimeSpan(0, 0, timeout); 61 | } 62 | Byte[] resultBytes = await client.GetByteArrayAsync(url); 63 | return Encoding.Default.GetString(resultBytes); 64 | } 65 | } 66 | 67 | 68 | /// 69 | /// 同步POST请求 70 | /// 71 | /// 72 | /// 73 | /// 74 | /// 75 | /// 请求响应超时时间,单位/s(默认100秒) 76 | /// 默认UTF8 77 | /// 78 | public static string HttpPost(string url, string postData, Dictionary headers = null, string contentType = null, int timeout = 0, Encoding encoding = null) 79 | { 80 | using (HttpClient client = new HttpClient()) 81 | { 82 | if (headers != null) 83 | { 84 | foreach (KeyValuePair header in headers) 85 | { 86 | client.DefaultRequestHeaders.Add(header.Key, header.Value); 87 | } 88 | } 89 | if (timeout > 0) 90 | { 91 | client.Timeout = new TimeSpan(0, 0, timeout); 92 | } 93 | using (HttpContent content = new StringContent(postData ?? "", encoding ?? Encoding.UTF8)) 94 | { 95 | if (contentType != null) 96 | { 97 | content.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue(contentType); 98 | } 99 | using (HttpResponseMessage responseMessage = client.PostAsync(url, content).Result) 100 | { 101 | Byte[] resultBytes = responseMessage.Content.ReadAsByteArrayAsync().Result; 102 | return Encoding.UTF8.GetString(resultBytes); 103 | } 104 | } 105 | } 106 | } 107 | 108 | /// 109 | /// 异步POST请求 110 | /// 111 | /// 112 | /// 113 | /// 114 | /// 115 | /// 请求响应超时时间,单位/s(默认100秒) 116 | /// 默认UTF8 117 | /// 118 | public static async Task HttpPostAsync(string url, string postData, Dictionary headers = null, string contentType = null, int timeout = 0, Encoding encoding = null) 119 | { 120 | using (HttpClient client = new HttpClient()) 121 | { 122 | if (headers != null) 123 | { 124 | foreach (KeyValuePair header in headers) 125 | { 126 | client.DefaultRequestHeaders.Add(header.Key, header.Value); 127 | } 128 | } 129 | if (timeout > 0) 130 | { 131 | client.Timeout = new TimeSpan(0, 0, timeout); 132 | } 133 | using (HttpContent content = new StringContent(postData ?? "", encoding ?? Encoding.UTF8)) 134 | { 135 | if (contentType != null) 136 | { 137 | content.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue(contentType); 138 | } 139 | using (HttpResponseMessage responseMessage = await client.PostAsync(url, content)) 140 | { 141 | Byte[] resultBytes = await responseMessage.Content.ReadAsByteArrayAsync(); 142 | return Encoding.UTF8.GetString(resultBytes); 143 | } 144 | } 145 | } 146 | } 147 | } 148 | } 149 | -------------------------------------------------------------------------------- /Snai.GrpcService/Snai.GrpcClient/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "GrpcServiceSettings": { 3 | "GrpcServices": [ 4 | { 5 | "ServiceName": "GrpcService", 6 | "ServiceID": "GrpcService_5021", 7 | "IP": "localhost", 8 | "Port": "5031", 9 | "Weight": "2" 10 | }, 11 | { 12 | "ServiceName": "GrpcService", 13 | "ServiceID": "GrpcService_5022", 14 | "IP": "localhost", 15 | "Port": "5032", 16 | "Weight": "1" 17 | } 18 | ] 19 | }, 20 | "LoadBalancer": "WeightRound", 21 | "ConsulService": { 22 | "IP": "localhost", 23 | "Port": "8500" 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /Snai.GrpcService/Snai.GrpcClient/obj/Debug/netcoreapp2.0/Snai.GrpcClient.AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // 此代码由工具生成。 4 | // 运行时版本:4.0.30319.42000 5 | // 6 | // 对此文件的更改可能会导致不正确的行为,并且如果 7 | // 重新生成代码,这些更改将会丢失。 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | using System; 12 | using System.Reflection; 13 | 14 | [assembly: System.Reflection.AssemblyCompanyAttribute("Snai.GrpcClient")] 15 | [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] 16 | [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] 17 | [assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")] 18 | [assembly: System.Reflection.AssemblyProductAttribute("Snai.GrpcClient")] 19 | [assembly: System.Reflection.AssemblyTitleAttribute("Snai.GrpcClient")] 20 | [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] 21 | 22 | // 由 MSBuild WriteCodeFragment 类生成。 23 | 24 | -------------------------------------------------------------------------------- /Snai.GrpcService/Snai.GrpcClient/obj/Debug/netcoreapp2.0/Snai.GrpcClient.AssemblyInfoInputs.cache: -------------------------------------------------------------------------------- 1 | 59009076e7912488fbbfa0e673e9cb94fe2f4d6f 2 | -------------------------------------------------------------------------------- /Snai.GrpcService/Snai.GrpcClient/obj/Debug/netcoreapp2.0/Snai.GrpcClient.csproj.CopyComplete: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Liu-Alan/Grpc-Consul/c0fb219e3739756f6fdb659b50a220be50bd4894/Snai.GrpcService/Snai.GrpcClient/obj/Debug/netcoreapp2.0/Snai.GrpcClient.csproj.CopyComplete -------------------------------------------------------------------------------- /Snai.GrpcService/Snai.GrpcClient/obj/Debug/netcoreapp2.0/Snai.GrpcClient.csproj.CoreCompileInputs.cache: -------------------------------------------------------------------------------- 1 | 0f5e6f5e62439a9bee50c2423bdf3f327d726f62 2 | -------------------------------------------------------------------------------- /Snai.GrpcService/Snai.GrpcClient/obj/Debug/netcoreapp2.0/Snai.GrpcClient.csproj.FileListAbsolute.txt: -------------------------------------------------------------------------------- 1 | E:\学习资料\DotNet\开发目录\Grpc Consul\Snai.GrpcService\Snai.GrpcClient\bin\Debug\netcoreapp2.0\appsettings.json 2 | E:\学习资料\DotNet\开发目录\Grpc Consul\Snai.GrpcService\Snai.GrpcClient\bin\Debug\netcoreapp2.0\Snai.GrpcClient.deps.json 3 | E:\学习资料\DotNet\开发目录\Grpc Consul\Snai.GrpcService\Snai.GrpcClient\bin\Debug\netcoreapp2.0\Snai.GrpcClient.runtimeconfig.json 4 | E:\学习资料\DotNet\开发目录\Grpc Consul\Snai.GrpcService\Snai.GrpcClient\bin\Debug\netcoreapp2.0\Snai.GrpcClient.runtimeconfig.dev.json 5 | E:\学习资料\DotNet\开发目录\Grpc Consul\Snai.GrpcService\Snai.GrpcClient\bin\Debug\netcoreapp2.0\Snai.GrpcClient.dll 6 | E:\学习资料\DotNet\开发目录\Grpc Consul\Snai.GrpcService\Snai.GrpcClient\bin\Debug\netcoreapp2.0\Snai.GrpcClient.pdb 7 | E:\学习资料\DotNet\开发目录\Grpc Consul\Snai.GrpcService\Snai.GrpcClient\bin\Debug\netcoreapp2.0\Snai.GrpcService.Protocol.dll 8 | E:\学习资料\DotNet\开发目录\Grpc Consul\Snai.GrpcService\Snai.GrpcClient\bin\Debug\netcoreapp2.0\Snai.GrpcService.Protocol.pdb 9 | E:\学习资料\DotNet\开发目录\Grpc Consul\Snai.GrpcService\Snai.GrpcClient\obj\Debug\netcoreapp2.0\Snai.GrpcClient.csprojResolveAssemblyReference.cache 10 | E:\学习资料\DotNet\开发目录\Grpc Consul\Snai.GrpcService\Snai.GrpcClient\obj\Debug\netcoreapp2.0\Snai.GrpcClient.csproj.CoreCompileInputs.cache 11 | E:\学习资料\DotNet\开发目录\Grpc Consul\Snai.GrpcService\Snai.GrpcClient\obj\Debug\netcoreapp2.0\Snai.GrpcClient.AssemblyInfoInputs.cache 12 | E:\学习资料\DotNet\开发目录\Grpc Consul\Snai.GrpcService\Snai.GrpcClient\obj\Debug\netcoreapp2.0\Snai.GrpcClient.AssemblyInfo.cs 13 | E:\学习资料\DotNet\开发目录\Grpc Consul\Snai.GrpcService\Snai.GrpcClient\obj\Debug\netcoreapp2.0\Snai.GrpcClient.dll 14 | E:\学习资料\DotNet\开发目录\Grpc Consul\Snai.GrpcService\Snai.GrpcClient\obj\Debug\netcoreapp2.0\Snai.GrpcClient.pdb 15 | -------------------------------------------------------------------------------- /Snai.GrpcService/Snai.GrpcClient/obj/Debug/netcoreapp2.0/Snai.GrpcClient.csprojResolveAssemblyReference.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Liu-Alan/Grpc-Consul/c0fb219e3739756f6fdb659b50a220be50bd4894/Snai.GrpcService/Snai.GrpcClient/obj/Debug/netcoreapp2.0/Snai.GrpcClient.csprojResolveAssemblyReference.cache -------------------------------------------------------------------------------- /Snai.GrpcService/Snai.GrpcClient/obj/Debug/netcoreapp2.0/Snai.GrpcClient.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Liu-Alan/Grpc-Consul/c0fb219e3739756f6fdb659b50a220be50bd4894/Snai.GrpcService/Snai.GrpcClient/obj/Debug/netcoreapp2.0/Snai.GrpcClient.dll -------------------------------------------------------------------------------- /Snai.GrpcService/Snai.GrpcClient/obj/Debug/netcoreapp2.0/Snai.GrpcClient.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Liu-Alan/Grpc-Consul/c0fb219e3739756f6fdb659b50a220be50bd4894/Snai.GrpcService/Snai.GrpcClient/obj/Debug/netcoreapp2.0/Snai.GrpcClient.pdb -------------------------------------------------------------------------------- /Snai.GrpcService/Snai.GrpcClient/obj/Snai.GrpcClient.csproj.nuget.cache: -------------------------------------------------------------------------------- 1 | { 2 | "version": 1, 3 | "dgSpecHash": "jOYUxygCoVL1tay59JZoMPNgWiie7Lu3LH585Uk59HXZcff0KmLArhWnmZb5u+ngc7o55wWvJCPzu3oc8amnlg==", 4 | "success": true 5 | } -------------------------------------------------------------------------------- /Snai.GrpcService/Snai.GrpcClient/obj/Snai.GrpcClient.csproj.nuget.g.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | True 5 | NuGet 6 | E:\学习资料\DotNet\开发目录\Grpc Consul\Snai.GrpcService\Snai.GrpcClient\obj\project.assets.json 7 | $(UserProfile)\.nuget\packages\ 8 | C:\Users\Administrator\.nuget\packages\;C:\Program Files\dotnet\sdk\NuGetFallbackFolder 9 | PackageReference 10 | 4.5.0 11 | 12 | 13 | $(MSBuildAllProjects);$(MSBuildThisFileFullPath) 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /Snai.GrpcService/Snai.GrpcClient/obj/Snai.GrpcClient.csproj.nuget.g.targets: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | $(MSBuildAllProjects);$(MSBuildThisFileFullPath) 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /Snai.GrpcService/Snai.GrpcService.Hosting/Consul/AppRregister.cs: -------------------------------------------------------------------------------- 1 | using Consul; 2 | using Microsoft.AspNetCore.Builder; 3 | using Microsoft.AspNetCore.Hosting; 4 | using Microsoft.Extensions.Options; 5 | using Snai.GrpcService.Hosting.Consul.Entity; 6 | using System; 7 | using System.Collections.Generic; 8 | using System.Linq; 9 | using System.Threading.Tasks; 10 | 11 | namespace Snai.GrpcService.Hosting.Consul 12 | { 13 | public static class AppRregister 14 | { 15 | // 服务注册 16 | public static IApplicationBuilder RegisterConsul(this IApplicationBuilder app, IApplicationLifetime lifetime, IOptions healthService, IOptions consulService) 17 | { 18 | var consulClient = new ConsulClient(x => x.Address = new Uri($"http://{consulService.Value.IP}:{consulService.Value.Port}"));//请求注册的 Consul 地址 19 | var httpCheck = new AgentServiceCheck() 20 | { 21 | DeregisterCriticalServiceAfter = TimeSpan.FromSeconds(5),//服务启动多久后注册 22 | Interval = TimeSpan.FromSeconds(10),//健康检查时间间隔,或者称为心跳间隔 23 | HTTP = $"http://{healthService.Value.IP}:{healthService.Value.Port}/health",//健康检查地址 24 | Timeout = TimeSpan.FromSeconds(5) 25 | }; 26 | 27 | // Register service with consul 28 | var registration = new AgentServiceRegistration() 29 | { 30 | Checks = new[] { httpCheck }, 31 | ID = healthService.Value.Name + "_" + healthService.Value.Port, 32 | Name = healthService.Value.Name, 33 | Address = healthService.Value.IP, 34 | Port = healthService.Value.Port, 35 | Tags = new[] { $"urlprefix-/{healthService.Value.Name}" }//添加 urlprefix-/servicename 格式的 tag 标签,以便 Fabio 识别 36 | }; 37 | 38 | consulClient.Agent.ServiceRegister(registration).Wait();//服务启动时注册,内部实现其实就是使用 Consul API 进行注册(HttpClient发起) 39 | lifetime.ApplicationStopping.Register(() => 40 | { 41 | consulClient.Agent.ServiceDeregister(registration.ID).Wait();//服务停止时取消注册 42 | }); 43 | 44 | return app; 45 | } 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /Snai.GrpcService/Snai.GrpcService.Hosting/Consul/Entity/ConsulService.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace Snai.GrpcService.Hosting.Consul.Entity 7 | { 8 | public class ConsulService 9 | { 10 | public string IP { get; set; } 11 | public int Port { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Snai.GrpcService/Snai.GrpcService.Hosting/Consul/Entity/HealthService.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace Snai.GrpcService.Hosting.Consul.Entity 7 | { 8 | public class HealthService 9 | { 10 | public string Name { get; set; } 11 | public string IP { get; set; } 12 | public int Port { get; set; } 13 | 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Snai.GrpcService/Snai.GrpcService.Hosting/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Linq; 5 | using System.Threading.Tasks; 6 | using Microsoft.AspNetCore; 7 | using Microsoft.AspNetCore.Hosting; 8 | using Microsoft.Extensions.Configuration; 9 | using Microsoft.Extensions.Logging; 10 | 11 | namespace Snai.GrpcService.Hosting 12 | { 13 | public class Program 14 | { 15 | public static void Main(string[] args) 16 | { 17 | BuildWebHost(args).Run(); 18 | } 19 | 20 | public static IWebHost BuildWebHost(string[] args) => 21 | WebHost.CreateDefaultBuilder(args) 22 | .UseUrls("http://localhost:5021") 23 | .UseStartup() 24 | .Build(); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /Snai.GrpcService/Snai.GrpcService.Hosting/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "iisSettings": { 3 | "windowsAuthentication": false, 4 | "anonymousAuthentication": true, 5 | "iisExpress": { 6 | "applicationUrl": "http://localhost:59264/", 7 | "sslPort": 0 8 | } 9 | }, 10 | "profiles": { 11 | "IIS Express": { 12 | "commandName": "IISExpress", 13 | "launchBrowser": true, 14 | "environmentVariables": { 15 | "ASPNETCORE_ENVIRONMENT": "Development" 16 | } 17 | }, 18 | "Snai.GrpcService.Hosting": { 19 | "commandName": "Project", 20 | "launchBrowser": true, 21 | "environmentVariables": { 22 | "ASPNETCORE_ENVIRONMENT": "Development" 23 | }, 24 | "applicationUrl": "http://localhost:59265/" 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /Snai.GrpcService/Snai.GrpcService.Hosting/Snai.GrpcService.Hosting.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | netcoreapp2.0 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | Always 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /Snai.GrpcService/Snai.GrpcService.Hosting/Snai.GrpcService.Hosting.csproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | ProjectDebugger 5 | 6 | 7 | Snai.GrpcService.Hosting 8 | 9 | -------------------------------------------------------------------------------- /Snai.GrpcService/Snai.GrpcService.Hosting/Startup.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using Microsoft.AspNetCore.Builder; 6 | using Microsoft.AspNetCore.Hosting; 7 | using Microsoft.AspNetCore.Http; 8 | using Microsoft.AspNetCore.Mvc; 9 | using Microsoft.Extensions.Configuration; 10 | using Microsoft.Extensions.DependencyInjection; 11 | using Microsoft.Extensions.Options; 12 | using Snai.GrpcService.Hosting.Consul; 13 | using Snai.GrpcService.Hosting.Consul.Entity; 14 | using Snai.GrpcService.Impl; 15 | 16 | namespace Snai.GrpcService.Hosting 17 | { 18 | public class Startup 19 | { 20 | public Startup(IConfiguration configuration) 21 | { 22 | Configuration = configuration; 23 | } 24 | 25 | public IConfiguration Configuration { get; } 26 | 27 | // This method gets called by the runtime. Use this method to add services to the container. 28 | // For more information on how to configure your application, visit https://go.microsoft.com/fwlink/?LinkID=398940 29 | public void ConfigureServices(IServiceCollection services) 30 | { 31 | //注册全局配置 32 | services.AddOptions(); 33 | services.Configure(Configuration.GetSection(nameof(Impl.Entity.GrpcService))); 34 | services.Configure(Configuration.GetSection(nameof(HealthService))); 35 | services.Configure(Configuration.GetSection(nameof(ConsulService))); 36 | 37 | //注册Rpc服务 38 | services.AddSingleton(); 39 | } 40 | 41 | // This method gets called by the runtime. Use this method to configure the HTTP request pipeline. 42 | public void Configure(IApplicationBuilder app, IHostingEnvironment env, IApplicationLifetime lifetime, IOptions healthService, IOptions consulService, IRpcConfig rpc) 43 | { 44 | if (env.IsDevelopment()) 45 | { 46 | app.UseDeveloperExceptionPage(); 47 | } 48 | 49 | // 添加健康检查路由地址 50 | app.Map("/health", HealthMap); 51 | 52 | // 服务注册 53 | app.RegisterConsul(lifetime, healthService, consulService); 54 | 55 | // 启动Rpc服务 56 | rpc.Start(); 57 | } 58 | 59 | private static void HealthMap(IApplicationBuilder app) 60 | { 61 | app.Run(async context => 62 | { 63 | await context.Response.WriteAsync("OK"); 64 | }); 65 | } 66 | } 67 | } 68 | -------------------------------------------------------------------------------- /Snai.GrpcService/Snai.GrpcService.Hosting/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "GrpcService": { 3 | "IP": "localhost", 4 | "Port": "5031" 5 | }, 6 | "HealthService": { 7 | "Name": "GrpcService", 8 | "IP": "localhost", 9 | "Port": "5021" 10 | }, 11 | "ConsulService": { 12 | "IP": "localhost", 13 | "Port": "8500" 14 | } 15 | } -------------------------------------------------------------------------------- /Snai.GrpcService/Snai.GrpcService.Hosting/obj/Debug/netcoreapp2.0/Snai.GrpcService.Hosting.AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // 此代码由工具生成。 4 | // 运行时版本:4.0.30319.42000 5 | // 6 | // 对此文件的更改可能会导致不正确的行为,并且如果 7 | // 重新生成代码,这些更改将会丢失。 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | using System; 12 | using System.Reflection; 13 | 14 | [assembly: System.Reflection.AssemblyCompanyAttribute("Snai.GrpcService.Hosting")] 15 | [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] 16 | [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] 17 | [assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")] 18 | [assembly: System.Reflection.AssemblyProductAttribute("Snai.GrpcService.Hosting")] 19 | [assembly: System.Reflection.AssemblyTitleAttribute("Snai.GrpcService.Hosting")] 20 | [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] 21 | 22 | // 由 MSBuild WriteCodeFragment 类生成。 23 | 24 | -------------------------------------------------------------------------------- /Snai.GrpcService/Snai.GrpcService.Hosting/obj/Debug/netcoreapp2.0/Snai.GrpcService.Hosting.AssemblyInfoInputs.cache: -------------------------------------------------------------------------------- 1 | 9bd4064e7cf7818794f4dcc9ea19124a5c4fa09b 2 | -------------------------------------------------------------------------------- /Snai.GrpcService/Snai.GrpcService.Hosting/obj/Debug/netcoreapp2.0/Snai.GrpcService.Hosting.csproj.CopyComplete: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Liu-Alan/Grpc-Consul/c0fb219e3739756f6fdb659b50a220be50bd4894/Snai.GrpcService/Snai.GrpcService.Hosting/obj/Debug/netcoreapp2.0/Snai.GrpcService.Hosting.csproj.CopyComplete -------------------------------------------------------------------------------- /Snai.GrpcService/Snai.GrpcService.Hosting/obj/Debug/netcoreapp2.0/Snai.GrpcService.Hosting.csproj.CoreCompileInputs.cache: -------------------------------------------------------------------------------- 1 | cbe7d5e3fc02a142973f827f5d757d0d1ab48473 2 | -------------------------------------------------------------------------------- /Snai.GrpcService/Snai.GrpcService.Hosting/obj/Debug/netcoreapp2.0/Snai.GrpcService.Hosting.csproj.FileListAbsolute.txt: -------------------------------------------------------------------------------- 1 | E:\学习资料\DotNet\开发目录\Grpc Consul\Snai.GrpcService\Snai.GrpcService.Hosting\bin\Debug\netcoreapp2.0\appsettings.json 2 | E:\学习资料\DotNet\开发目录\Grpc Consul\Snai.GrpcService\Snai.GrpcService.Hosting\bin\Debug\netcoreapp2.0\Snai.GrpcService.Hosting.deps.json 3 | E:\学习资料\DotNet\开发目录\Grpc Consul\Snai.GrpcService\Snai.GrpcService.Hosting\bin\Debug\netcoreapp2.0\Snai.GrpcService.Hosting.runtimeconfig.json 4 | E:\学习资料\DotNet\开发目录\Grpc Consul\Snai.GrpcService\Snai.GrpcService.Hosting\bin\Debug\netcoreapp2.0\Snai.GrpcService.Hosting.runtimeconfig.dev.json 5 | E:\学习资料\DotNet\开发目录\Grpc Consul\Snai.GrpcService\Snai.GrpcService.Hosting\bin\Debug\netcoreapp2.0\Snai.GrpcService.Hosting.dll 6 | E:\学习资料\DotNet\开发目录\Grpc Consul\Snai.GrpcService\Snai.GrpcService.Hosting\bin\Debug\netcoreapp2.0\Snai.GrpcService.Hosting.pdb 7 | E:\学习资料\DotNet\开发目录\Grpc Consul\Snai.GrpcService\Snai.GrpcService.Hosting\bin\Debug\netcoreapp2.0\Snai.GrpcService.Impl.dll 8 | E:\学习资料\DotNet\开发目录\Grpc Consul\Snai.GrpcService\Snai.GrpcService.Hosting\bin\Debug\netcoreapp2.0\Snai.GrpcService.Protocol.dll 9 | E:\学习资料\DotNet\开发目录\Grpc Consul\Snai.GrpcService\Snai.GrpcService.Hosting\bin\Debug\netcoreapp2.0\Snai.GrpcService.Impl.pdb 10 | E:\学习资料\DotNet\开发目录\Grpc Consul\Snai.GrpcService\Snai.GrpcService.Hosting\bin\Debug\netcoreapp2.0\Snai.GrpcService.Protocol.pdb 11 | E:\学习资料\DotNet\开发目录\Grpc Consul\Snai.GrpcService\Snai.GrpcService.Hosting\obj\Debug\netcoreapp2.0\Snai.GrpcService.Hosting.csprojResolveAssemblyReference.cache 12 | E:\学习资料\DotNet\开发目录\Grpc Consul\Snai.GrpcService\Snai.GrpcService.Hosting\obj\Debug\netcoreapp2.0\Snai.GrpcService.Hosting.csproj.CoreCompileInputs.cache 13 | E:\学习资料\DotNet\开发目录\Grpc Consul\Snai.GrpcService\Snai.GrpcService.Hosting\obj\Debug\netcoreapp2.0\Snai.GrpcService.Hosting.AssemblyInfoInputs.cache 14 | E:\学习资料\DotNet\开发目录\Grpc Consul\Snai.GrpcService\Snai.GrpcService.Hosting\obj\Debug\netcoreapp2.0\Snai.GrpcService.Hosting.AssemblyInfo.cs 15 | E:\学习资料\DotNet\开发目录\Grpc Consul\Snai.GrpcService\Snai.GrpcService.Hosting\obj\Debug\netcoreapp2.0\Snai.GrpcService.Hosting.dll 16 | E:\学习资料\DotNet\开发目录\Grpc Consul\Snai.GrpcService\Snai.GrpcService.Hosting\obj\Debug\netcoreapp2.0\Snai.GrpcService.Hosting.pdb 17 | -------------------------------------------------------------------------------- /Snai.GrpcService/Snai.GrpcService.Hosting/obj/Debug/netcoreapp2.0/Snai.GrpcService.Hosting.csprojResolveAssemblyReference.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Liu-Alan/Grpc-Consul/c0fb219e3739756f6fdb659b50a220be50bd4894/Snai.GrpcService/Snai.GrpcService.Hosting/obj/Debug/netcoreapp2.0/Snai.GrpcService.Hosting.csprojResolveAssemblyReference.cache -------------------------------------------------------------------------------- /Snai.GrpcService/Snai.GrpcService.Hosting/obj/Debug/netcoreapp2.0/Snai.GrpcService.Hosting.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Liu-Alan/Grpc-Consul/c0fb219e3739756f6fdb659b50a220be50bd4894/Snai.GrpcService/Snai.GrpcService.Hosting/obj/Debug/netcoreapp2.0/Snai.GrpcService.Hosting.dll -------------------------------------------------------------------------------- /Snai.GrpcService/Snai.GrpcService.Hosting/obj/Debug/netcoreapp2.0/Snai.GrpcService.Hosting.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Liu-Alan/Grpc-Consul/c0fb219e3739756f6fdb659b50a220be50bd4894/Snai.GrpcService/Snai.GrpcService.Hosting/obj/Debug/netcoreapp2.0/Snai.GrpcService.Hosting.pdb -------------------------------------------------------------------------------- /Snai.GrpcService/Snai.GrpcService.Hosting/obj/Snai.GrpcService.Hosting.csproj.nuget.cache: -------------------------------------------------------------------------------- 1 | { 2 | "version": 1, 3 | "dgSpecHash": "VUF6hDoigbjoyb+UWnypxELw1cmP5cDiAIGQ4qhTFxfr6VOTNLP9b3XHanu0sLfS32//6a9KBc0VBZyYTJHbnA==", 4 | "success": true 5 | } -------------------------------------------------------------------------------- /Snai.GrpcService/Snai.GrpcService.Hosting/obj/Snai.GrpcService.Hosting.csproj.nuget.g.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | True 5 | NuGet 6 | E:\学习资料\DotNet\开发目录\Grpc Consul\Snai.GrpcService\Snai.GrpcService.Hosting\obj\project.assets.json 7 | $(UserProfile)\.nuget\packages\ 8 | C:\Users\Administrator\.nuget\packages\;C:\Program Files\dotnet\sdk\NuGetFallbackFolder 9 | PackageReference 10 | 4.5.0 11 | 12 | 13 | $(MSBuildAllProjects);$(MSBuildThisFileFullPath) 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /Snai.GrpcService/Snai.GrpcService.Hosting/obj/Snai.GrpcService.Hosting.csproj.nuget.g.targets: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | $(MSBuildAllProjects);$(MSBuildThisFileFullPath) 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Snai.GrpcService/Snai.GrpcService.Impl/Entity/GrpcService.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace Snai.GrpcService.Impl.Entity 7 | { 8 | public class GrpcService 9 | { 10 | public string IP { get; set; } 11 | public int Port { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Snai.GrpcService/Snai.GrpcService.Impl/IRpcConfig.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace Snai.GrpcService.Impl 6 | { 7 | public interface IRpcConfig 8 | { 9 | void Start(); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /Snai.GrpcService/Snai.GrpcService.Impl/RpcConfig.cs: -------------------------------------------------------------------------------- 1 | using Grpc.Core; 2 | using Microsoft.Extensions.Options; 3 | using Snai.GrpcService.Impl.RpcService; 4 | using Snai.GrpcService.Protocol; 5 | using System; 6 | using System.Collections.Generic; 7 | using System.Text; 8 | 9 | namespace Snai.GrpcService.Impl 10 | { 11 | public class RpcConfig: IRpcConfig 12 | { 13 | private static Server _server; 14 | static IOptions GrpcSettings; 15 | 16 | public RpcConfig(IOptions grpcSettings) 17 | { 18 | GrpcSettings = grpcSettings; 19 | } 20 | 21 | public void Start() 22 | { 23 | _server = new Server 24 | { 25 | Services = { MsgService.BindService(new MsgServiceImpl()) }, 26 | Ports = { new ServerPort(GrpcSettings.Value.IP, GrpcSettings.Value.Port, ServerCredentials.Insecure) } 27 | }; 28 | _server.Start(); 29 | 30 | Console.WriteLine($"Grpc ServerListening On Port {GrpcSettings.Value.Port}"); 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /Snai.GrpcService/Snai.GrpcService.Impl/RpcService/MsgServiceImpl.cs: -------------------------------------------------------------------------------- 1 | using Grpc.Core; 2 | using Snai.GrpcService.Protocol; 3 | using System; 4 | using System.Collections.Generic; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace Snai.GrpcService.Impl.RpcService 9 | { 10 | public class MsgServiceImpl : MsgService.MsgServiceBase 11 | { 12 | public override async Task GetSum(GetMsgNumRequest request, ServerCallContext context) 13 | { 14 | var result = new GetMsgSumReply(); 15 | 16 | result.Sum = request.Num1 + request.Num2; 17 | 18 | Console.WriteLine(request.Num1 + "+" + request.Num2 + "=" + result.Sum); 19 | 20 | return result; 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /Snai.GrpcService/Snai.GrpcService.Impl/Snai.GrpcService.Impl.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | netstandard2.0 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | C:\Program Files\dotnet\sdk\NuGetFallbackFolder\microsoft.extensions.options\2.0.0\lib\netstandard2.0\Microsoft.Extensions.Options.dll 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /Snai.GrpcService/Snai.GrpcService.Impl/obj/Debug/netstandard2.0/Snai.GrpcService.Impl.AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // 此代码由工具生成。 4 | // 运行时版本:4.0.30319.42000 5 | // 6 | // 对此文件的更改可能会导致不正确的行为,并且如果 7 | // 重新生成代码,这些更改将会丢失。 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | using System; 12 | using System.Reflection; 13 | 14 | [assembly: System.Reflection.AssemblyCompanyAttribute("Snai.GrpcService.Impl")] 15 | [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] 16 | [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] 17 | [assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")] 18 | [assembly: System.Reflection.AssemblyProductAttribute("Snai.GrpcService.Impl")] 19 | [assembly: System.Reflection.AssemblyTitleAttribute("Snai.GrpcService.Impl")] 20 | [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] 21 | 22 | // 由 MSBuild WriteCodeFragment 类生成。 23 | 24 | -------------------------------------------------------------------------------- /Snai.GrpcService/Snai.GrpcService.Impl/obj/Debug/netstandard2.0/Snai.GrpcService.Impl.AssemblyInfoInputs.cache: -------------------------------------------------------------------------------- 1 | 64044a822cf3c37bb40dcd0eda4b4127bf7f7a0c 2 | -------------------------------------------------------------------------------- /Snai.GrpcService/Snai.GrpcService.Impl/obj/Debug/netstandard2.0/Snai.GrpcService.Impl.csproj.CopyComplete: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Liu-Alan/Grpc-Consul/c0fb219e3739756f6fdb659b50a220be50bd4894/Snai.GrpcService/Snai.GrpcService.Impl/obj/Debug/netstandard2.0/Snai.GrpcService.Impl.csproj.CopyComplete -------------------------------------------------------------------------------- /Snai.GrpcService/Snai.GrpcService.Impl/obj/Debug/netstandard2.0/Snai.GrpcService.Impl.csproj.CoreCompileInputs.cache: -------------------------------------------------------------------------------- 1 | df63ad9a22d937f435273fa4fd18815fe2a6d13b 2 | -------------------------------------------------------------------------------- /Snai.GrpcService/Snai.GrpcService.Impl/obj/Debug/netstandard2.0/Snai.GrpcService.Impl.csproj.FileListAbsolute.txt: -------------------------------------------------------------------------------- 1 | E:\学习资料\DotNet\开发目录\Grpc Consul\Snai.GrpcService\Snai.GrpcService.Impl\bin\Debug\netstandard2.0\Snai.GrpcService.Impl.deps.json 2 | E:\学习资料\DotNet\开发目录\Grpc Consul\Snai.GrpcService\Snai.GrpcService.Impl\bin\Debug\netstandard2.0\Snai.GrpcService.Impl.dll 3 | E:\学习资料\DotNet\开发目录\Grpc Consul\Snai.GrpcService\Snai.GrpcService.Impl\bin\Debug\netstandard2.0\Snai.GrpcService.Impl.pdb 4 | E:\学习资料\DotNet\开发目录\Grpc Consul\Snai.GrpcService\Snai.GrpcService.Impl\bin\Debug\netstandard2.0\Microsoft.Extensions.Options.dll 5 | E:\学习资料\DotNet\开发目录\Grpc Consul\Snai.GrpcService\Snai.GrpcService.Impl\bin\Debug\netstandard2.0\Snai.GrpcService.Protocol.dll 6 | E:\学习资料\DotNet\开发目录\Grpc Consul\Snai.GrpcService\Snai.GrpcService.Impl\bin\Debug\netstandard2.0\Snai.GrpcService.Protocol.pdb 7 | E:\学习资料\DotNet\开发目录\Grpc Consul\Snai.GrpcService\Snai.GrpcService.Impl\bin\Debug\netstandard2.0\Microsoft.Extensions.Options.xml 8 | E:\学习资料\DotNet\开发目录\Grpc Consul\Snai.GrpcService\Snai.GrpcService.Impl\obj\Debug\netstandard2.0\Snai.GrpcService.Impl.csprojResolveAssemblyReference.cache 9 | E:\学习资料\DotNet\开发目录\Grpc Consul\Snai.GrpcService\Snai.GrpcService.Impl\obj\Debug\netstandard2.0\Snai.GrpcService.Impl.csproj.CoreCompileInputs.cache 10 | E:\学习资料\DotNet\开发目录\Grpc Consul\Snai.GrpcService\Snai.GrpcService.Impl\obj\Debug\netstandard2.0\Snai.GrpcService.Impl.AssemblyInfoInputs.cache 11 | E:\学习资料\DotNet\开发目录\Grpc Consul\Snai.GrpcService\Snai.GrpcService.Impl\obj\Debug\netstandard2.0\Snai.GrpcService.Impl.AssemblyInfo.cs 12 | E:\学习资料\DotNet\开发目录\Grpc Consul\Snai.GrpcService\Snai.GrpcService.Impl\obj\Debug\netstandard2.0\Snai.GrpcService.Impl.dll 13 | E:\学习资料\DotNet\开发目录\Grpc Consul\Snai.GrpcService\Snai.GrpcService.Impl\obj\Debug\netstandard2.0\Snai.GrpcService.Impl.pdb 14 | -------------------------------------------------------------------------------- /Snai.GrpcService/Snai.GrpcService.Impl/obj/Debug/netstandard2.0/Snai.GrpcService.Impl.csprojResolveAssemblyReference.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Liu-Alan/Grpc-Consul/c0fb219e3739756f6fdb659b50a220be50bd4894/Snai.GrpcService/Snai.GrpcService.Impl/obj/Debug/netstandard2.0/Snai.GrpcService.Impl.csprojResolveAssemblyReference.cache -------------------------------------------------------------------------------- /Snai.GrpcService/Snai.GrpcService.Impl/obj/Debug/netstandard2.0/Snai.GrpcService.Impl.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Liu-Alan/Grpc-Consul/c0fb219e3739756f6fdb659b50a220be50bd4894/Snai.GrpcService/Snai.GrpcService.Impl/obj/Debug/netstandard2.0/Snai.GrpcService.Impl.dll -------------------------------------------------------------------------------- /Snai.GrpcService/Snai.GrpcService.Impl/obj/Debug/netstandard2.0/Snai.GrpcService.Impl.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Liu-Alan/Grpc-Consul/c0fb219e3739756f6fdb659b50a220be50bd4894/Snai.GrpcService/Snai.GrpcService.Impl/obj/Debug/netstandard2.0/Snai.GrpcService.Impl.pdb -------------------------------------------------------------------------------- /Snai.GrpcService/Snai.GrpcService.Impl/obj/Snai.GrpcService.Impl.csproj.nuget.cache: -------------------------------------------------------------------------------- 1 | { 2 | "version": 1, 3 | "dgSpecHash": "PuWOrfGCQvetffstCJeSku3H1oWDULxr+mgCyrz4417MppOX1wl7dnbsOQRXNVSxuURm31ANQLGG6Lm1YJ0lsA==", 4 | "success": true 5 | } -------------------------------------------------------------------------------- /Snai.GrpcService/Snai.GrpcService.Impl/obj/Snai.GrpcService.Impl.csproj.nuget.g.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | True 5 | NuGet 6 | E:\学习资料\DotNet\开发目录\Grpc Consul\Snai.GrpcService\Snai.GrpcService.Impl\obj\project.assets.json 7 | $(UserProfile)\.nuget\packages\ 8 | C:\Users\Administrator\.nuget\packages\;C:\Program Files\dotnet\sdk\NuGetFallbackFolder 9 | PackageReference 10 | 4.5.0 11 | 12 | 13 | $(MSBuildAllProjects);$(MSBuildThisFileFullPath) 14 | 15 | -------------------------------------------------------------------------------- /Snai.GrpcService/Snai.GrpcService.Impl/obj/Snai.GrpcService.Impl.csproj.nuget.g.targets: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | $(MSBuildAllProjects);$(MSBuildThisFileFullPath) 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Snai.GrpcService/Snai.GrpcService.Impl/obj/project.assets.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 3, 3 | "targets": { 4 | ".NETStandard,Version=v2.0": { 5 | "Google.Protobuf/3.5.1": { 6 | "type": "package", 7 | "dependencies": { 8 | "NETStandard.Library": "1.6.1" 9 | }, 10 | "compile": { 11 | "lib/netstandard1.0/Google.Protobuf.dll": {} 12 | }, 13 | "runtime": { 14 | "lib/netstandard1.0/Google.Protobuf.dll": {} 15 | } 16 | }, 17 | "Grpc.Core/1.11.0": { 18 | "type": "package", 19 | "dependencies": { 20 | "NETStandard.Library": "1.6.1", 21 | "System.Interactive.Async": "3.1.1", 22 | "System.Runtime.Loader": "4.0.0", 23 | "System.Threading.Thread": "4.0.0", 24 | "System.Threading.ThreadPool": "4.0.10" 25 | }, 26 | "compile": { 27 | "lib/netstandard1.5/Grpc.Core.dll": {} 28 | }, 29 | "runtime": { 30 | "lib/netstandard1.5/Grpc.Core.dll": {} 31 | }, 32 | "runtimeTargets": { 33 | "runtimes/linux/native/libgrpc_csharp_ext.x64.so": { 34 | "assetType": "native", 35 | "rid": "linux" 36 | }, 37 | "runtimes/linux/native/libgrpc_csharp_ext.x86.so": { 38 | "assetType": "native", 39 | "rid": "linux" 40 | }, 41 | "runtimes/osx/native/libgrpc_csharp_ext.x64.dylib": { 42 | "assetType": "native", 43 | "rid": "osx" 44 | }, 45 | "runtimes/osx/native/libgrpc_csharp_ext.x86.dylib": { 46 | "assetType": "native", 47 | "rid": "osx" 48 | }, 49 | "runtimes/win/native/grpc_csharp_ext.x64.dll": { 50 | "assetType": "native", 51 | "rid": "win" 52 | }, 53 | "runtimes/win/native/grpc_csharp_ext.x86.dll": { 54 | "assetType": "native", 55 | "rid": "win" 56 | } 57 | } 58 | }, 59 | "Microsoft.NETCore.Platforms/1.1.0": { 60 | "type": "package", 61 | "compile": { 62 | "lib/netstandard1.0/_._": {} 63 | }, 64 | "runtime": { 65 | "lib/netstandard1.0/_._": {} 66 | } 67 | }, 68 | "Microsoft.NETCore.Targets/1.0.1": { 69 | "type": "package", 70 | "compile": { 71 | "lib/netstandard1.0/_._": {} 72 | }, 73 | "runtime": { 74 | "lib/netstandard1.0/_._": {} 75 | } 76 | }, 77 | "NETStandard.Library/2.0.0": { 78 | "type": "package", 79 | "dependencies": { 80 | "Microsoft.NETCore.Platforms": "1.1.0" 81 | }, 82 | "compile": { 83 | "lib/netstandard1.0/_._": {} 84 | }, 85 | "runtime": { 86 | "lib/netstandard1.0/_._": {} 87 | }, 88 | "build": { 89 | "build/netstandard2.0/NETStandard.Library.targets": {} 90 | } 91 | }, 92 | "System.Interactive.Async/3.1.1": { 93 | "type": "package", 94 | "dependencies": { 95 | "NETStandard.Library": "1.6.0" 96 | }, 97 | "compile": { 98 | "lib/netstandard1.3/System.Interactive.Async.dll": {} 99 | }, 100 | "runtime": { 101 | "lib/netstandard1.3/System.Interactive.Async.dll": {} 102 | } 103 | }, 104 | "System.IO/4.1.0": { 105 | "type": "package", 106 | "dependencies": { 107 | "Microsoft.NETCore.Platforms": "1.0.1", 108 | "Microsoft.NETCore.Targets": "1.0.1", 109 | "System.Runtime": "4.1.0", 110 | "System.Text.Encoding": "4.0.11", 111 | "System.Threading.Tasks": "4.0.11" 112 | }, 113 | "compile": { 114 | "ref/netstandard1.5/System.IO.dll": {} 115 | } 116 | }, 117 | "System.Reflection/4.1.0": { 118 | "type": "package", 119 | "dependencies": { 120 | "Microsoft.NETCore.Platforms": "1.0.1", 121 | "Microsoft.NETCore.Targets": "1.0.1", 122 | "System.IO": "4.1.0", 123 | "System.Reflection.Primitives": "4.0.1", 124 | "System.Runtime": "4.1.0" 125 | }, 126 | "compile": { 127 | "ref/netstandard1.5/System.Reflection.dll": {} 128 | } 129 | }, 130 | "System.Reflection.Primitives/4.0.1": { 131 | "type": "package", 132 | "dependencies": { 133 | "Microsoft.NETCore.Platforms": "1.0.1", 134 | "Microsoft.NETCore.Targets": "1.0.1", 135 | "System.Runtime": "4.1.0" 136 | }, 137 | "compile": { 138 | "ref/netstandard1.0/System.Reflection.Primitives.dll": {} 139 | } 140 | }, 141 | "System.Runtime/4.1.0": { 142 | "type": "package", 143 | "dependencies": { 144 | "Microsoft.NETCore.Platforms": "1.0.1", 145 | "Microsoft.NETCore.Targets": "1.0.1" 146 | }, 147 | "compile": { 148 | "ref/netstandard1.5/System.Runtime.dll": {} 149 | } 150 | }, 151 | "System.Runtime.Handles/4.0.1": { 152 | "type": "package", 153 | "dependencies": { 154 | "Microsoft.NETCore.Platforms": "1.0.1", 155 | "Microsoft.NETCore.Targets": "1.0.1", 156 | "System.Runtime": "4.1.0" 157 | }, 158 | "compile": { 159 | "ref/netstandard1.3/System.Runtime.Handles.dll": {} 160 | } 161 | }, 162 | "System.Runtime.Loader/4.0.0": { 163 | "type": "package", 164 | "dependencies": { 165 | "System.IO": "4.1.0", 166 | "System.Reflection": "4.1.0", 167 | "System.Runtime": "4.1.0" 168 | }, 169 | "compile": { 170 | "ref/netstandard1.5/System.Runtime.Loader.dll": {} 171 | }, 172 | "runtime": { 173 | "lib/netstandard1.5/System.Runtime.Loader.dll": {} 174 | } 175 | }, 176 | "System.Text.Encoding/4.0.11": { 177 | "type": "package", 178 | "dependencies": { 179 | "Microsoft.NETCore.Platforms": "1.0.1", 180 | "Microsoft.NETCore.Targets": "1.0.1", 181 | "System.Runtime": "4.1.0" 182 | }, 183 | "compile": { 184 | "ref/netstandard1.3/System.Text.Encoding.dll": {} 185 | } 186 | }, 187 | "System.Threading.Tasks/4.0.11": { 188 | "type": "package", 189 | "dependencies": { 190 | "Microsoft.NETCore.Platforms": "1.0.1", 191 | "Microsoft.NETCore.Targets": "1.0.1", 192 | "System.Runtime": "4.1.0" 193 | }, 194 | "compile": { 195 | "ref/netstandard1.3/System.Threading.Tasks.dll": {} 196 | } 197 | }, 198 | "System.Threading.Thread/4.0.0": { 199 | "type": "package", 200 | "dependencies": { 201 | "System.Runtime": "4.1.0" 202 | }, 203 | "compile": { 204 | "ref/netstandard1.3/System.Threading.Thread.dll": {} 205 | }, 206 | "runtime": { 207 | "lib/netstandard1.3/System.Threading.Thread.dll": {} 208 | } 209 | }, 210 | "System.Threading.ThreadPool/4.0.10": { 211 | "type": "package", 212 | "dependencies": { 213 | "System.Runtime": "4.1.0", 214 | "System.Runtime.Handles": "4.0.1" 215 | }, 216 | "compile": { 217 | "ref/netstandard1.3/System.Threading.ThreadPool.dll": {} 218 | }, 219 | "runtime": { 220 | "lib/netstandard1.3/System.Threading.ThreadPool.dll": {} 221 | } 222 | }, 223 | "Snai.GrpcService.Protocol/1.0.0": { 224 | "type": "project", 225 | "framework": ".NETStandard,Version=v2.0", 226 | "dependencies": { 227 | "Google.Protobuf": "3.5.1", 228 | "Grpc.Core": "1.11.0" 229 | }, 230 | "compile": { 231 | "bin/placeholder/Snai.GrpcService.Protocol.dll": {} 232 | }, 233 | "runtime": { 234 | "bin/placeholder/Snai.GrpcService.Protocol.dll": {} 235 | } 236 | } 237 | } 238 | }, 239 | "libraries": { 240 | "Google.Protobuf/3.5.1": { 241 | "sha512": "f2k1VNaB9bfvEsvARzzEL1TZiIpL33KKK3JMH7UANlPlJVptuvsk4qpBZEnz0pORWZOdUHlVwMQuUzFqjJYCxA==", 242 | "type": "package", 243 | "path": "google.protobuf/3.5.1", 244 | "files": [ 245 | "google.protobuf.3.5.1.nupkg.sha512", 246 | "google.protobuf.nuspec", 247 | "lib/net45/Google.Protobuf.dll", 248 | "lib/net45/Google.Protobuf.xml", 249 | "lib/netstandard1.0/Google.Protobuf.dll", 250 | "lib/netstandard1.0/Google.Protobuf.xml" 251 | ] 252 | }, 253 | "Grpc.Core/1.11.0": { 254 | "sha512": "rGuQiruuigm9C0rEWSzSznw52a7cTZ9oUqQQzPGDmrdADpTPrRT+201AmWNzAtQqYOKOkNaObmXh9oGj+9FMzQ==", 255 | "type": "package", 256 | "path": "grpc.core/1.11.0", 257 | "files": [ 258 | "build/net45/Grpc.Core.targets", 259 | "grpc.core.1.11.0.nupkg.sha512", 260 | "grpc.core.nuspec", 261 | "lib/net45/Grpc.Core.dll", 262 | "lib/net45/Grpc.Core.pdb", 263 | "lib/net45/Grpc.Core.xml", 264 | "lib/netstandard1.5/Grpc.Core.dll", 265 | "lib/netstandard1.5/Grpc.Core.pdb", 266 | "lib/netstandard1.5/Grpc.Core.xml", 267 | "runtimes/linux/native/libgrpc_csharp_ext.x64.so", 268 | "runtimes/linux/native/libgrpc_csharp_ext.x86.so", 269 | "runtimes/osx/native/libgrpc_csharp_ext.x64.dylib", 270 | "runtimes/osx/native/libgrpc_csharp_ext.x86.dylib", 271 | "runtimes/win/native/grpc_csharp_ext.x64.dll", 272 | "runtimes/win/native/grpc_csharp_ext.x86.dll" 273 | ] 274 | }, 275 | "Microsoft.NETCore.Platforms/1.1.0": { 276 | "sha512": "kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A==", 277 | "type": "package", 278 | "path": "microsoft.netcore.platforms/1.1.0", 279 | "files": [ 280 | "ThirdPartyNotices.txt", 281 | "dotnet_library_license.txt", 282 | "lib/netstandard1.0/_._", 283 | "microsoft.netcore.platforms.1.1.0.nupkg.sha512", 284 | "microsoft.netcore.platforms.nuspec", 285 | "runtime.json" 286 | ] 287 | }, 288 | "Microsoft.NETCore.Targets/1.0.1": { 289 | "sha512": "rkn+fKobF/cbWfnnfBOQHKVKIOpxMZBvlSHkqDWgBpwGDcLRduvs3D9OLGeV6GWGvVwNlVi2CBbTjuPmtHvyNw==", 290 | "type": "package", 291 | "path": "microsoft.netcore.targets/1.0.1", 292 | "files": [ 293 | "ThirdPartyNotices.txt", 294 | "dotnet_library_license.txt", 295 | "lib/netstandard1.0/_._", 296 | "microsoft.netcore.targets.1.0.1.nupkg.sha512", 297 | "microsoft.netcore.targets.nuspec", 298 | "runtime.json" 299 | ] 300 | }, 301 | "NETStandard.Library/2.0.0": { 302 | "sha512": "7jnbRU+L08FXKMxqUflxEXtVymWvNOrS8yHgu9s6EM8Anr6T/wIX4nZ08j/u3Asz+tCufp3YVwFSEvFTPYmBPA==", 303 | "type": "package", 304 | "path": "netstandard.library/2.0.0", 305 | "files": [ 306 | "LICENSE.TXT", 307 | "THIRD-PARTY-NOTICES.TXT", 308 | "build/NETStandard.Library.targets", 309 | "build/netstandard2.0/NETStandard.Library.targets", 310 | "build/netstandard2.0/ref/Microsoft.Win32.Primitives.dll", 311 | "build/netstandard2.0/ref/System.AppContext.dll", 312 | "build/netstandard2.0/ref/System.Collections.Concurrent.dll", 313 | "build/netstandard2.0/ref/System.Collections.NonGeneric.dll", 314 | "build/netstandard2.0/ref/System.Collections.Specialized.dll", 315 | "build/netstandard2.0/ref/System.Collections.dll", 316 | "build/netstandard2.0/ref/System.ComponentModel.Composition.dll", 317 | "build/netstandard2.0/ref/System.ComponentModel.EventBasedAsync.dll", 318 | "build/netstandard2.0/ref/System.ComponentModel.Primitives.dll", 319 | "build/netstandard2.0/ref/System.ComponentModel.TypeConverter.dll", 320 | "build/netstandard2.0/ref/System.ComponentModel.dll", 321 | "build/netstandard2.0/ref/System.Console.dll", 322 | "build/netstandard2.0/ref/System.Core.dll", 323 | "build/netstandard2.0/ref/System.Data.Common.dll", 324 | "build/netstandard2.0/ref/System.Data.dll", 325 | "build/netstandard2.0/ref/System.Diagnostics.Contracts.dll", 326 | "build/netstandard2.0/ref/System.Diagnostics.Debug.dll", 327 | "build/netstandard2.0/ref/System.Diagnostics.FileVersionInfo.dll", 328 | "build/netstandard2.0/ref/System.Diagnostics.Process.dll", 329 | "build/netstandard2.0/ref/System.Diagnostics.StackTrace.dll", 330 | "build/netstandard2.0/ref/System.Diagnostics.TextWriterTraceListener.dll", 331 | "build/netstandard2.0/ref/System.Diagnostics.Tools.dll", 332 | "build/netstandard2.0/ref/System.Diagnostics.TraceSource.dll", 333 | "build/netstandard2.0/ref/System.Diagnostics.Tracing.dll", 334 | "build/netstandard2.0/ref/System.Drawing.Primitives.dll", 335 | "build/netstandard2.0/ref/System.Drawing.dll", 336 | "build/netstandard2.0/ref/System.Dynamic.Runtime.dll", 337 | "build/netstandard2.0/ref/System.Globalization.Calendars.dll", 338 | "build/netstandard2.0/ref/System.Globalization.Extensions.dll", 339 | "build/netstandard2.0/ref/System.Globalization.dll", 340 | "build/netstandard2.0/ref/System.IO.Compression.FileSystem.dll", 341 | "build/netstandard2.0/ref/System.IO.Compression.ZipFile.dll", 342 | "build/netstandard2.0/ref/System.IO.Compression.dll", 343 | "build/netstandard2.0/ref/System.IO.FileSystem.DriveInfo.dll", 344 | "build/netstandard2.0/ref/System.IO.FileSystem.Primitives.dll", 345 | "build/netstandard2.0/ref/System.IO.FileSystem.Watcher.dll", 346 | "build/netstandard2.0/ref/System.IO.FileSystem.dll", 347 | "build/netstandard2.0/ref/System.IO.IsolatedStorage.dll", 348 | "build/netstandard2.0/ref/System.IO.MemoryMappedFiles.dll", 349 | "build/netstandard2.0/ref/System.IO.Pipes.dll", 350 | "build/netstandard2.0/ref/System.IO.UnmanagedMemoryStream.dll", 351 | "build/netstandard2.0/ref/System.IO.dll", 352 | "build/netstandard2.0/ref/System.Linq.Expressions.dll", 353 | "build/netstandard2.0/ref/System.Linq.Parallel.dll", 354 | "build/netstandard2.0/ref/System.Linq.Queryable.dll", 355 | "build/netstandard2.0/ref/System.Linq.dll", 356 | "build/netstandard2.0/ref/System.Net.Http.dll", 357 | "build/netstandard2.0/ref/System.Net.NameResolution.dll", 358 | "build/netstandard2.0/ref/System.Net.NetworkInformation.dll", 359 | "build/netstandard2.0/ref/System.Net.Ping.dll", 360 | "build/netstandard2.0/ref/System.Net.Primitives.dll", 361 | "build/netstandard2.0/ref/System.Net.Requests.dll", 362 | "build/netstandard2.0/ref/System.Net.Security.dll", 363 | "build/netstandard2.0/ref/System.Net.Sockets.dll", 364 | "build/netstandard2.0/ref/System.Net.WebHeaderCollection.dll", 365 | "build/netstandard2.0/ref/System.Net.WebSockets.Client.dll", 366 | "build/netstandard2.0/ref/System.Net.WebSockets.dll", 367 | "build/netstandard2.0/ref/System.Net.dll", 368 | "build/netstandard2.0/ref/System.Numerics.dll", 369 | "build/netstandard2.0/ref/System.ObjectModel.dll", 370 | "build/netstandard2.0/ref/System.Reflection.Extensions.dll", 371 | "build/netstandard2.0/ref/System.Reflection.Primitives.dll", 372 | "build/netstandard2.0/ref/System.Reflection.dll", 373 | "build/netstandard2.0/ref/System.Resources.Reader.dll", 374 | "build/netstandard2.0/ref/System.Resources.ResourceManager.dll", 375 | "build/netstandard2.0/ref/System.Resources.Writer.dll", 376 | "build/netstandard2.0/ref/System.Runtime.CompilerServices.VisualC.dll", 377 | "build/netstandard2.0/ref/System.Runtime.Extensions.dll", 378 | "build/netstandard2.0/ref/System.Runtime.Handles.dll", 379 | "build/netstandard2.0/ref/System.Runtime.InteropServices.RuntimeInformation.dll", 380 | "build/netstandard2.0/ref/System.Runtime.InteropServices.dll", 381 | "build/netstandard2.0/ref/System.Runtime.Numerics.dll", 382 | "build/netstandard2.0/ref/System.Runtime.Serialization.Formatters.dll", 383 | "build/netstandard2.0/ref/System.Runtime.Serialization.Json.dll", 384 | "build/netstandard2.0/ref/System.Runtime.Serialization.Primitives.dll", 385 | "build/netstandard2.0/ref/System.Runtime.Serialization.Xml.dll", 386 | "build/netstandard2.0/ref/System.Runtime.Serialization.dll", 387 | "build/netstandard2.0/ref/System.Runtime.dll", 388 | "build/netstandard2.0/ref/System.Security.Claims.dll", 389 | "build/netstandard2.0/ref/System.Security.Cryptography.Algorithms.dll", 390 | "build/netstandard2.0/ref/System.Security.Cryptography.Csp.dll", 391 | "build/netstandard2.0/ref/System.Security.Cryptography.Encoding.dll", 392 | "build/netstandard2.0/ref/System.Security.Cryptography.Primitives.dll", 393 | "build/netstandard2.0/ref/System.Security.Cryptography.X509Certificates.dll", 394 | "build/netstandard2.0/ref/System.Security.Principal.dll", 395 | "build/netstandard2.0/ref/System.Security.SecureString.dll", 396 | "build/netstandard2.0/ref/System.ServiceModel.Web.dll", 397 | "build/netstandard2.0/ref/System.Text.Encoding.Extensions.dll", 398 | "build/netstandard2.0/ref/System.Text.Encoding.dll", 399 | "build/netstandard2.0/ref/System.Text.RegularExpressions.dll", 400 | "build/netstandard2.0/ref/System.Threading.Overlapped.dll", 401 | "build/netstandard2.0/ref/System.Threading.Tasks.Parallel.dll", 402 | "build/netstandard2.0/ref/System.Threading.Tasks.dll", 403 | "build/netstandard2.0/ref/System.Threading.Thread.dll", 404 | "build/netstandard2.0/ref/System.Threading.ThreadPool.dll", 405 | "build/netstandard2.0/ref/System.Threading.Timer.dll", 406 | "build/netstandard2.0/ref/System.Threading.dll", 407 | "build/netstandard2.0/ref/System.Transactions.dll", 408 | "build/netstandard2.0/ref/System.ValueTuple.dll", 409 | "build/netstandard2.0/ref/System.Web.dll", 410 | "build/netstandard2.0/ref/System.Windows.dll", 411 | "build/netstandard2.0/ref/System.Xml.Linq.dll", 412 | "build/netstandard2.0/ref/System.Xml.ReaderWriter.dll", 413 | "build/netstandard2.0/ref/System.Xml.Serialization.dll", 414 | "build/netstandard2.0/ref/System.Xml.XDocument.dll", 415 | "build/netstandard2.0/ref/System.Xml.XPath.XDocument.dll", 416 | "build/netstandard2.0/ref/System.Xml.XPath.dll", 417 | "build/netstandard2.0/ref/System.Xml.XmlDocument.dll", 418 | "build/netstandard2.0/ref/System.Xml.XmlSerializer.dll", 419 | "build/netstandard2.0/ref/System.Xml.dll", 420 | "build/netstandard2.0/ref/System.dll", 421 | "build/netstandard2.0/ref/mscorlib.dll", 422 | "build/netstandard2.0/ref/netstandard.dll", 423 | "build/netstandard2.0/ref/netstandard.xml", 424 | "lib/netstandard1.0/_._", 425 | "netstandard.library.2.0.0.nupkg.sha512", 426 | "netstandard.library.nuspec" 427 | ] 428 | }, 429 | "System.Interactive.Async/3.1.1": { 430 | "sha512": "hZccYiIE5RS1/J9Tb/BNtosAGVggdlsJm4Ojdu+gDV0p4AIi+LUfUogMKkRacljQEJd2AG6vYzvcjhQFkqoZmw==", 431 | "type": "package", 432 | "path": "system.interactive.async/3.1.1", 433 | "files": [ 434 | "lib/net45/System.Interactive.Async.dll", 435 | "lib/net45/System.Interactive.Async.xml", 436 | "lib/net46/System.Interactive.Async.dll", 437 | "lib/net46/System.Interactive.Async.xml", 438 | "lib/netstandard1.0/System.Interactive.Async.dll", 439 | "lib/netstandard1.0/System.Interactive.Async.xml", 440 | "lib/netstandard1.3/System.Interactive.Async.dll", 441 | "lib/netstandard1.3/System.Interactive.Async.xml", 442 | "system.interactive.async.3.1.1.nupkg.sha512", 443 | "system.interactive.async.nuspec" 444 | ] 445 | }, 446 | "System.IO/4.1.0": { 447 | "sha512": "3KlTJceQc3gnGIaHZ7UBZO26SHL1SHE4ddrmiwumFnId+CEHP+O8r386tZKaE6zlk5/mF8vifMBzHj9SaXN+mQ==", 448 | "type": "package", 449 | "path": "system.io/4.1.0", 450 | "files": [ 451 | "ThirdPartyNotices.txt", 452 | "dotnet_library_license.txt", 453 | "lib/MonoAndroid10/_._", 454 | "lib/MonoTouch10/_._", 455 | "lib/net45/_._", 456 | "lib/net462/System.IO.dll", 457 | "lib/portable-net45+win8+wp8+wpa81/_._", 458 | "lib/win8/_._", 459 | "lib/wp80/_._", 460 | "lib/wpa81/_._", 461 | "lib/xamarinios10/_._", 462 | "lib/xamarinmac20/_._", 463 | "lib/xamarintvos10/_._", 464 | "lib/xamarinwatchos10/_._", 465 | "ref/MonoAndroid10/_._", 466 | "ref/MonoTouch10/_._", 467 | "ref/net45/_._", 468 | "ref/net462/System.IO.dll", 469 | "ref/netcore50/System.IO.dll", 470 | "ref/netcore50/System.IO.xml", 471 | "ref/netcore50/de/System.IO.xml", 472 | "ref/netcore50/es/System.IO.xml", 473 | "ref/netcore50/fr/System.IO.xml", 474 | "ref/netcore50/it/System.IO.xml", 475 | "ref/netcore50/ja/System.IO.xml", 476 | "ref/netcore50/ko/System.IO.xml", 477 | "ref/netcore50/ru/System.IO.xml", 478 | "ref/netcore50/zh-hans/System.IO.xml", 479 | "ref/netcore50/zh-hant/System.IO.xml", 480 | "ref/netstandard1.0/System.IO.dll", 481 | "ref/netstandard1.0/System.IO.xml", 482 | "ref/netstandard1.0/de/System.IO.xml", 483 | "ref/netstandard1.0/es/System.IO.xml", 484 | "ref/netstandard1.0/fr/System.IO.xml", 485 | "ref/netstandard1.0/it/System.IO.xml", 486 | "ref/netstandard1.0/ja/System.IO.xml", 487 | "ref/netstandard1.0/ko/System.IO.xml", 488 | "ref/netstandard1.0/ru/System.IO.xml", 489 | "ref/netstandard1.0/zh-hans/System.IO.xml", 490 | "ref/netstandard1.0/zh-hant/System.IO.xml", 491 | "ref/netstandard1.3/System.IO.dll", 492 | "ref/netstandard1.3/System.IO.xml", 493 | "ref/netstandard1.3/de/System.IO.xml", 494 | "ref/netstandard1.3/es/System.IO.xml", 495 | "ref/netstandard1.3/fr/System.IO.xml", 496 | "ref/netstandard1.3/it/System.IO.xml", 497 | "ref/netstandard1.3/ja/System.IO.xml", 498 | "ref/netstandard1.3/ko/System.IO.xml", 499 | "ref/netstandard1.3/ru/System.IO.xml", 500 | "ref/netstandard1.3/zh-hans/System.IO.xml", 501 | "ref/netstandard1.3/zh-hant/System.IO.xml", 502 | "ref/netstandard1.5/System.IO.dll", 503 | "ref/netstandard1.5/System.IO.xml", 504 | "ref/netstandard1.5/de/System.IO.xml", 505 | "ref/netstandard1.5/es/System.IO.xml", 506 | "ref/netstandard1.5/fr/System.IO.xml", 507 | "ref/netstandard1.5/it/System.IO.xml", 508 | "ref/netstandard1.5/ja/System.IO.xml", 509 | "ref/netstandard1.5/ko/System.IO.xml", 510 | "ref/netstandard1.5/ru/System.IO.xml", 511 | "ref/netstandard1.5/zh-hans/System.IO.xml", 512 | "ref/netstandard1.5/zh-hant/System.IO.xml", 513 | "ref/portable-net45+win8+wp8+wpa81/_._", 514 | "ref/win8/_._", 515 | "ref/wp80/_._", 516 | "ref/wpa81/_._", 517 | "ref/xamarinios10/_._", 518 | "ref/xamarinmac20/_._", 519 | "ref/xamarintvos10/_._", 520 | "ref/xamarinwatchos10/_._", 521 | "system.io.4.1.0.nupkg.sha512", 522 | "system.io.nuspec" 523 | ] 524 | }, 525 | "System.Reflection/4.1.0": { 526 | "sha512": "JCKANJ0TI7kzoQzuwB/OoJANy1Lg338B6+JVacPl4TpUwi3cReg3nMLplMq2uqYfHFQpKIlHAUVAJlImZz/4ng==", 527 | "type": "package", 528 | "path": "system.reflection/4.1.0", 529 | "files": [ 530 | "ThirdPartyNotices.txt", 531 | "dotnet_library_license.txt", 532 | "lib/MonoAndroid10/_._", 533 | "lib/MonoTouch10/_._", 534 | "lib/net45/_._", 535 | "lib/net462/System.Reflection.dll", 536 | "lib/portable-net45+win8+wp8+wpa81/_._", 537 | "lib/win8/_._", 538 | "lib/wp80/_._", 539 | "lib/wpa81/_._", 540 | "lib/xamarinios10/_._", 541 | "lib/xamarinmac20/_._", 542 | "lib/xamarintvos10/_._", 543 | "lib/xamarinwatchos10/_._", 544 | "ref/MonoAndroid10/_._", 545 | "ref/MonoTouch10/_._", 546 | "ref/net45/_._", 547 | "ref/net462/System.Reflection.dll", 548 | "ref/netcore50/System.Reflection.dll", 549 | "ref/netcore50/System.Reflection.xml", 550 | "ref/netcore50/de/System.Reflection.xml", 551 | "ref/netcore50/es/System.Reflection.xml", 552 | "ref/netcore50/fr/System.Reflection.xml", 553 | "ref/netcore50/it/System.Reflection.xml", 554 | "ref/netcore50/ja/System.Reflection.xml", 555 | "ref/netcore50/ko/System.Reflection.xml", 556 | "ref/netcore50/ru/System.Reflection.xml", 557 | "ref/netcore50/zh-hans/System.Reflection.xml", 558 | "ref/netcore50/zh-hant/System.Reflection.xml", 559 | "ref/netstandard1.0/System.Reflection.dll", 560 | "ref/netstandard1.0/System.Reflection.xml", 561 | "ref/netstandard1.0/de/System.Reflection.xml", 562 | "ref/netstandard1.0/es/System.Reflection.xml", 563 | "ref/netstandard1.0/fr/System.Reflection.xml", 564 | "ref/netstandard1.0/it/System.Reflection.xml", 565 | "ref/netstandard1.0/ja/System.Reflection.xml", 566 | "ref/netstandard1.0/ko/System.Reflection.xml", 567 | "ref/netstandard1.0/ru/System.Reflection.xml", 568 | "ref/netstandard1.0/zh-hans/System.Reflection.xml", 569 | "ref/netstandard1.0/zh-hant/System.Reflection.xml", 570 | "ref/netstandard1.3/System.Reflection.dll", 571 | "ref/netstandard1.3/System.Reflection.xml", 572 | "ref/netstandard1.3/de/System.Reflection.xml", 573 | "ref/netstandard1.3/es/System.Reflection.xml", 574 | "ref/netstandard1.3/fr/System.Reflection.xml", 575 | "ref/netstandard1.3/it/System.Reflection.xml", 576 | "ref/netstandard1.3/ja/System.Reflection.xml", 577 | "ref/netstandard1.3/ko/System.Reflection.xml", 578 | "ref/netstandard1.3/ru/System.Reflection.xml", 579 | "ref/netstandard1.3/zh-hans/System.Reflection.xml", 580 | "ref/netstandard1.3/zh-hant/System.Reflection.xml", 581 | "ref/netstandard1.5/System.Reflection.dll", 582 | "ref/netstandard1.5/System.Reflection.xml", 583 | "ref/netstandard1.5/de/System.Reflection.xml", 584 | "ref/netstandard1.5/es/System.Reflection.xml", 585 | "ref/netstandard1.5/fr/System.Reflection.xml", 586 | "ref/netstandard1.5/it/System.Reflection.xml", 587 | "ref/netstandard1.5/ja/System.Reflection.xml", 588 | "ref/netstandard1.5/ko/System.Reflection.xml", 589 | "ref/netstandard1.5/ru/System.Reflection.xml", 590 | "ref/netstandard1.5/zh-hans/System.Reflection.xml", 591 | "ref/netstandard1.5/zh-hant/System.Reflection.xml", 592 | "ref/portable-net45+win8+wp8+wpa81/_._", 593 | "ref/win8/_._", 594 | "ref/wp80/_._", 595 | "ref/wpa81/_._", 596 | "ref/xamarinios10/_._", 597 | "ref/xamarinmac20/_._", 598 | "ref/xamarintvos10/_._", 599 | "ref/xamarinwatchos10/_._", 600 | "system.reflection.4.1.0.nupkg.sha512", 601 | "system.reflection.nuspec" 602 | ] 603 | }, 604 | "System.Reflection.Primitives/4.0.1": { 605 | "sha512": "4inTox4wTBaDhB7V3mPvp9XlCbeGYWVEM9/fXALd52vNEAVisc1BoVWQPuUuD0Ga//dNbA/WeMy9u9mzLxGTHQ==", 606 | "type": "package", 607 | "path": "system.reflection.primitives/4.0.1", 608 | "files": [ 609 | "ThirdPartyNotices.txt", 610 | "dotnet_library_license.txt", 611 | "lib/MonoAndroid10/_._", 612 | "lib/MonoTouch10/_._", 613 | "lib/net45/_._", 614 | "lib/portable-net45+win8+wp8+wpa81/_._", 615 | "lib/win8/_._", 616 | "lib/wp80/_._", 617 | "lib/wpa81/_._", 618 | "lib/xamarinios10/_._", 619 | "lib/xamarinmac20/_._", 620 | "lib/xamarintvos10/_._", 621 | "lib/xamarinwatchos10/_._", 622 | "ref/MonoAndroid10/_._", 623 | "ref/MonoTouch10/_._", 624 | "ref/net45/_._", 625 | "ref/netcore50/System.Reflection.Primitives.dll", 626 | "ref/netcore50/System.Reflection.Primitives.xml", 627 | "ref/netcore50/de/System.Reflection.Primitives.xml", 628 | "ref/netcore50/es/System.Reflection.Primitives.xml", 629 | "ref/netcore50/fr/System.Reflection.Primitives.xml", 630 | "ref/netcore50/it/System.Reflection.Primitives.xml", 631 | "ref/netcore50/ja/System.Reflection.Primitives.xml", 632 | "ref/netcore50/ko/System.Reflection.Primitives.xml", 633 | "ref/netcore50/ru/System.Reflection.Primitives.xml", 634 | "ref/netcore50/zh-hans/System.Reflection.Primitives.xml", 635 | "ref/netcore50/zh-hant/System.Reflection.Primitives.xml", 636 | "ref/netstandard1.0/System.Reflection.Primitives.dll", 637 | "ref/netstandard1.0/System.Reflection.Primitives.xml", 638 | "ref/netstandard1.0/de/System.Reflection.Primitives.xml", 639 | "ref/netstandard1.0/es/System.Reflection.Primitives.xml", 640 | "ref/netstandard1.0/fr/System.Reflection.Primitives.xml", 641 | "ref/netstandard1.0/it/System.Reflection.Primitives.xml", 642 | "ref/netstandard1.0/ja/System.Reflection.Primitives.xml", 643 | "ref/netstandard1.0/ko/System.Reflection.Primitives.xml", 644 | "ref/netstandard1.0/ru/System.Reflection.Primitives.xml", 645 | "ref/netstandard1.0/zh-hans/System.Reflection.Primitives.xml", 646 | "ref/netstandard1.0/zh-hant/System.Reflection.Primitives.xml", 647 | "ref/portable-net45+win8+wp8+wpa81/_._", 648 | "ref/win8/_._", 649 | "ref/wp80/_._", 650 | "ref/wpa81/_._", 651 | "ref/xamarinios10/_._", 652 | "ref/xamarinmac20/_._", 653 | "ref/xamarintvos10/_._", 654 | "ref/xamarinwatchos10/_._", 655 | "system.reflection.primitives.4.0.1.nupkg.sha512", 656 | "system.reflection.primitives.nuspec" 657 | ] 658 | }, 659 | "System.Runtime/4.1.0": { 660 | "sha512": "v6c/4Yaa9uWsq+JMhnOFewrYkgdNHNG2eMKuNqRn8P733rNXeRCGvV5FkkjBXn2dbVkPXOsO0xjsEeM1q2zC0g==", 661 | "type": "package", 662 | "path": "system.runtime/4.1.0", 663 | "files": [ 664 | "ThirdPartyNotices.txt", 665 | "dotnet_library_license.txt", 666 | "lib/MonoAndroid10/_._", 667 | "lib/MonoTouch10/_._", 668 | "lib/net45/_._", 669 | "lib/net462/System.Runtime.dll", 670 | "lib/portable-net45+win8+wp80+wpa81/_._", 671 | "lib/win8/_._", 672 | "lib/wp80/_._", 673 | "lib/wpa81/_._", 674 | "lib/xamarinios10/_._", 675 | "lib/xamarinmac20/_._", 676 | "lib/xamarintvos10/_._", 677 | "lib/xamarinwatchos10/_._", 678 | "ref/MonoAndroid10/_._", 679 | "ref/MonoTouch10/_._", 680 | "ref/net45/_._", 681 | "ref/net462/System.Runtime.dll", 682 | "ref/netcore50/System.Runtime.dll", 683 | "ref/netcore50/System.Runtime.xml", 684 | "ref/netcore50/de/System.Runtime.xml", 685 | "ref/netcore50/es/System.Runtime.xml", 686 | "ref/netcore50/fr/System.Runtime.xml", 687 | "ref/netcore50/it/System.Runtime.xml", 688 | "ref/netcore50/ja/System.Runtime.xml", 689 | "ref/netcore50/ko/System.Runtime.xml", 690 | "ref/netcore50/ru/System.Runtime.xml", 691 | "ref/netcore50/zh-hans/System.Runtime.xml", 692 | "ref/netcore50/zh-hant/System.Runtime.xml", 693 | "ref/netstandard1.0/System.Runtime.dll", 694 | "ref/netstandard1.0/System.Runtime.xml", 695 | "ref/netstandard1.0/de/System.Runtime.xml", 696 | "ref/netstandard1.0/es/System.Runtime.xml", 697 | "ref/netstandard1.0/fr/System.Runtime.xml", 698 | "ref/netstandard1.0/it/System.Runtime.xml", 699 | "ref/netstandard1.0/ja/System.Runtime.xml", 700 | "ref/netstandard1.0/ko/System.Runtime.xml", 701 | "ref/netstandard1.0/ru/System.Runtime.xml", 702 | "ref/netstandard1.0/zh-hans/System.Runtime.xml", 703 | "ref/netstandard1.0/zh-hant/System.Runtime.xml", 704 | "ref/netstandard1.2/System.Runtime.dll", 705 | "ref/netstandard1.2/System.Runtime.xml", 706 | "ref/netstandard1.2/de/System.Runtime.xml", 707 | "ref/netstandard1.2/es/System.Runtime.xml", 708 | "ref/netstandard1.2/fr/System.Runtime.xml", 709 | "ref/netstandard1.2/it/System.Runtime.xml", 710 | "ref/netstandard1.2/ja/System.Runtime.xml", 711 | "ref/netstandard1.2/ko/System.Runtime.xml", 712 | "ref/netstandard1.2/ru/System.Runtime.xml", 713 | "ref/netstandard1.2/zh-hans/System.Runtime.xml", 714 | "ref/netstandard1.2/zh-hant/System.Runtime.xml", 715 | "ref/netstandard1.3/System.Runtime.dll", 716 | "ref/netstandard1.3/System.Runtime.xml", 717 | "ref/netstandard1.3/de/System.Runtime.xml", 718 | "ref/netstandard1.3/es/System.Runtime.xml", 719 | "ref/netstandard1.3/fr/System.Runtime.xml", 720 | "ref/netstandard1.3/it/System.Runtime.xml", 721 | "ref/netstandard1.3/ja/System.Runtime.xml", 722 | "ref/netstandard1.3/ko/System.Runtime.xml", 723 | "ref/netstandard1.3/ru/System.Runtime.xml", 724 | "ref/netstandard1.3/zh-hans/System.Runtime.xml", 725 | "ref/netstandard1.3/zh-hant/System.Runtime.xml", 726 | "ref/netstandard1.5/System.Runtime.dll", 727 | "ref/netstandard1.5/System.Runtime.xml", 728 | "ref/netstandard1.5/de/System.Runtime.xml", 729 | "ref/netstandard1.5/es/System.Runtime.xml", 730 | "ref/netstandard1.5/fr/System.Runtime.xml", 731 | "ref/netstandard1.5/it/System.Runtime.xml", 732 | "ref/netstandard1.5/ja/System.Runtime.xml", 733 | "ref/netstandard1.5/ko/System.Runtime.xml", 734 | "ref/netstandard1.5/ru/System.Runtime.xml", 735 | "ref/netstandard1.5/zh-hans/System.Runtime.xml", 736 | "ref/netstandard1.5/zh-hant/System.Runtime.xml", 737 | "ref/portable-net45+win8+wp80+wpa81/_._", 738 | "ref/win8/_._", 739 | "ref/wp80/_._", 740 | "ref/wpa81/_._", 741 | "ref/xamarinios10/_._", 742 | "ref/xamarinmac20/_._", 743 | "ref/xamarintvos10/_._", 744 | "ref/xamarinwatchos10/_._", 745 | "system.runtime.4.1.0.nupkg.sha512", 746 | "system.runtime.nuspec" 747 | ] 748 | }, 749 | "System.Runtime.Handles/4.0.1": { 750 | "sha512": "nCJvEKguXEvk2ymk1gqj625vVnlK3/xdGzx0vOKicQkoquaTBJTP13AIYkocSUwHCLNBwUbXTqTWGDxBTWpt7g==", 751 | "type": "package", 752 | "path": "system.runtime.handles/4.0.1", 753 | "files": [ 754 | "ThirdPartyNotices.txt", 755 | "dotnet_library_license.txt", 756 | "lib/MonoAndroid10/_._", 757 | "lib/MonoTouch10/_._", 758 | "lib/net46/_._", 759 | "lib/xamarinios10/_._", 760 | "lib/xamarinmac20/_._", 761 | "lib/xamarintvos10/_._", 762 | "lib/xamarinwatchos10/_._", 763 | "ref/MonoAndroid10/_._", 764 | "ref/MonoTouch10/_._", 765 | "ref/net46/_._", 766 | "ref/netstandard1.3/System.Runtime.Handles.dll", 767 | "ref/netstandard1.3/System.Runtime.Handles.xml", 768 | "ref/netstandard1.3/de/System.Runtime.Handles.xml", 769 | "ref/netstandard1.3/es/System.Runtime.Handles.xml", 770 | "ref/netstandard1.3/fr/System.Runtime.Handles.xml", 771 | "ref/netstandard1.3/it/System.Runtime.Handles.xml", 772 | "ref/netstandard1.3/ja/System.Runtime.Handles.xml", 773 | "ref/netstandard1.3/ko/System.Runtime.Handles.xml", 774 | "ref/netstandard1.3/ru/System.Runtime.Handles.xml", 775 | "ref/netstandard1.3/zh-hans/System.Runtime.Handles.xml", 776 | "ref/netstandard1.3/zh-hant/System.Runtime.Handles.xml", 777 | "ref/xamarinios10/_._", 778 | "ref/xamarinmac20/_._", 779 | "ref/xamarintvos10/_._", 780 | "ref/xamarinwatchos10/_._", 781 | "system.runtime.handles.4.0.1.nupkg.sha512", 782 | "system.runtime.handles.nuspec" 783 | ] 784 | }, 785 | "System.Runtime.Loader/4.0.0": { 786 | "sha512": "4UN78GOVU/mbDFcXkEWtetJT/sJ0yic2gGk1HSlSpWI0TDf421xnrZTDZnwNBapk1GQeYN7U1lTj/aQB1by6ow==", 787 | "type": "package", 788 | "path": "system.runtime.loader/4.0.0", 789 | "files": [ 790 | "ThirdPartyNotices.txt", 791 | "dotnet_library_license.txt", 792 | "lib/net462/_._", 793 | "lib/netstandard1.5/System.Runtime.Loader.dll", 794 | "ref/netstandard1.5/System.Runtime.Loader.dll", 795 | "ref/netstandard1.5/System.Runtime.Loader.xml", 796 | "ref/netstandard1.5/de/System.Runtime.Loader.xml", 797 | "ref/netstandard1.5/es/System.Runtime.Loader.xml", 798 | "ref/netstandard1.5/fr/System.Runtime.Loader.xml", 799 | "ref/netstandard1.5/it/System.Runtime.Loader.xml", 800 | "ref/netstandard1.5/ja/System.Runtime.Loader.xml", 801 | "ref/netstandard1.5/ko/System.Runtime.Loader.xml", 802 | "ref/netstandard1.5/ru/System.Runtime.Loader.xml", 803 | "ref/netstandard1.5/zh-hans/System.Runtime.Loader.xml", 804 | "ref/netstandard1.5/zh-hant/System.Runtime.Loader.xml", 805 | "system.runtime.loader.4.0.0.nupkg.sha512", 806 | "system.runtime.loader.nuspec" 807 | ] 808 | }, 809 | "System.Text.Encoding/4.0.11": { 810 | "sha512": "U3gGeMlDZXxCEiY4DwVLSacg+DFWCvoiX+JThA/rvw37Sqrku7sEFeVBBBMBnfB6FeZHsyDx85HlKL19x0HtZA==", 811 | "type": "package", 812 | "path": "system.text.encoding/4.0.11", 813 | "files": [ 814 | "ThirdPartyNotices.txt", 815 | "dotnet_library_license.txt", 816 | "lib/MonoAndroid10/_._", 817 | "lib/MonoTouch10/_._", 818 | "lib/net45/_._", 819 | "lib/portable-net45+win8+wp8+wpa81/_._", 820 | "lib/win8/_._", 821 | "lib/wp80/_._", 822 | "lib/wpa81/_._", 823 | "lib/xamarinios10/_._", 824 | "lib/xamarinmac20/_._", 825 | "lib/xamarintvos10/_._", 826 | "lib/xamarinwatchos10/_._", 827 | "ref/MonoAndroid10/_._", 828 | "ref/MonoTouch10/_._", 829 | "ref/net45/_._", 830 | "ref/netcore50/System.Text.Encoding.dll", 831 | "ref/netcore50/System.Text.Encoding.xml", 832 | "ref/netcore50/de/System.Text.Encoding.xml", 833 | "ref/netcore50/es/System.Text.Encoding.xml", 834 | "ref/netcore50/fr/System.Text.Encoding.xml", 835 | "ref/netcore50/it/System.Text.Encoding.xml", 836 | "ref/netcore50/ja/System.Text.Encoding.xml", 837 | "ref/netcore50/ko/System.Text.Encoding.xml", 838 | "ref/netcore50/ru/System.Text.Encoding.xml", 839 | "ref/netcore50/zh-hans/System.Text.Encoding.xml", 840 | "ref/netcore50/zh-hant/System.Text.Encoding.xml", 841 | "ref/netstandard1.0/System.Text.Encoding.dll", 842 | "ref/netstandard1.0/System.Text.Encoding.xml", 843 | "ref/netstandard1.0/de/System.Text.Encoding.xml", 844 | "ref/netstandard1.0/es/System.Text.Encoding.xml", 845 | "ref/netstandard1.0/fr/System.Text.Encoding.xml", 846 | "ref/netstandard1.0/it/System.Text.Encoding.xml", 847 | "ref/netstandard1.0/ja/System.Text.Encoding.xml", 848 | "ref/netstandard1.0/ko/System.Text.Encoding.xml", 849 | "ref/netstandard1.0/ru/System.Text.Encoding.xml", 850 | "ref/netstandard1.0/zh-hans/System.Text.Encoding.xml", 851 | "ref/netstandard1.0/zh-hant/System.Text.Encoding.xml", 852 | "ref/netstandard1.3/System.Text.Encoding.dll", 853 | "ref/netstandard1.3/System.Text.Encoding.xml", 854 | "ref/netstandard1.3/de/System.Text.Encoding.xml", 855 | "ref/netstandard1.3/es/System.Text.Encoding.xml", 856 | "ref/netstandard1.3/fr/System.Text.Encoding.xml", 857 | "ref/netstandard1.3/it/System.Text.Encoding.xml", 858 | "ref/netstandard1.3/ja/System.Text.Encoding.xml", 859 | "ref/netstandard1.3/ko/System.Text.Encoding.xml", 860 | "ref/netstandard1.3/ru/System.Text.Encoding.xml", 861 | "ref/netstandard1.3/zh-hans/System.Text.Encoding.xml", 862 | "ref/netstandard1.3/zh-hant/System.Text.Encoding.xml", 863 | "ref/portable-net45+win8+wp8+wpa81/_._", 864 | "ref/win8/_._", 865 | "ref/wp80/_._", 866 | "ref/wpa81/_._", 867 | "ref/xamarinios10/_._", 868 | "ref/xamarinmac20/_._", 869 | "ref/xamarintvos10/_._", 870 | "ref/xamarinwatchos10/_._", 871 | "system.text.encoding.4.0.11.nupkg.sha512", 872 | "system.text.encoding.nuspec" 873 | ] 874 | }, 875 | "System.Threading.Tasks/4.0.11": { 876 | "sha512": "k1S4Gc6IGwtHGT8188RSeGaX86Qw/wnrgNLshJvsdNUOPP9etMmo8S07c+UlOAx4K/xLuN9ivA1bD0LVurtIxQ==", 877 | "type": "package", 878 | "path": "system.threading.tasks/4.0.11", 879 | "files": [ 880 | "ThirdPartyNotices.txt", 881 | "dotnet_library_license.txt", 882 | "lib/MonoAndroid10/_._", 883 | "lib/MonoTouch10/_._", 884 | "lib/net45/_._", 885 | "lib/portable-net45+win8+wp8+wpa81/_._", 886 | "lib/win8/_._", 887 | "lib/wp80/_._", 888 | "lib/wpa81/_._", 889 | "lib/xamarinios10/_._", 890 | "lib/xamarinmac20/_._", 891 | "lib/xamarintvos10/_._", 892 | "lib/xamarinwatchos10/_._", 893 | "ref/MonoAndroid10/_._", 894 | "ref/MonoTouch10/_._", 895 | "ref/net45/_._", 896 | "ref/netcore50/System.Threading.Tasks.dll", 897 | "ref/netcore50/System.Threading.Tasks.xml", 898 | "ref/netcore50/de/System.Threading.Tasks.xml", 899 | "ref/netcore50/es/System.Threading.Tasks.xml", 900 | "ref/netcore50/fr/System.Threading.Tasks.xml", 901 | "ref/netcore50/it/System.Threading.Tasks.xml", 902 | "ref/netcore50/ja/System.Threading.Tasks.xml", 903 | "ref/netcore50/ko/System.Threading.Tasks.xml", 904 | "ref/netcore50/ru/System.Threading.Tasks.xml", 905 | "ref/netcore50/zh-hans/System.Threading.Tasks.xml", 906 | "ref/netcore50/zh-hant/System.Threading.Tasks.xml", 907 | "ref/netstandard1.0/System.Threading.Tasks.dll", 908 | "ref/netstandard1.0/System.Threading.Tasks.xml", 909 | "ref/netstandard1.0/de/System.Threading.Tasks.xml", 910 | "ref/netstandard1.0/es/System.Threading.Tasks.xml", 911 | "ref/netstandard1.0/fr/System.Threading.Tasks.xml", 912 | "ref/netstandard1.0/it/System.Threading.Tasks.xml", 913 | "ref/netstandard1.0/ja/System.Threading.Tasks.xml", 914 | "ref/netstandard1.0/ko/System.Threading.Tasks.xml", 915 | "ref/netstandard1.0/ru/System.Threading.Tasks.xml", 916 | "ref/netstandard1.0/zh-hans/System.Threading.Tasks.xml", 917 | "ref/netstandard1.0/zh-hant/System.Threading.Tasks.xml", 918 | "ref/netstandard1.3/System.Threading.Tasks.dll", 919 | "ref/netstandard1.3/System.Threading.Tasks.xml", 920 | "ref/netstandard1.3/de/System.Threading.Tasks.xml", 921 | "ref/netstandard1.3/es/System.Threading.Tasks.xml", 922 | "ref/netstandard1.3/fr/System.Threading.Tasks.xml", 923 | "ref/netstandard1.3/it/System.Threading.Tasks.xml", 924 | "ref/netstandard1.3/ja/System.Threading.Tasks.xml", 925 | "ref/netstandard1.3/ko/System.Threading.Tasks.xml", 926 | "ref/netstandard1.3/ru/System.Threading.Tasks.xml", 927 | "ref/netstandard1.3/zh-hans/System.Threading.Tasks.xml", 928 | "ref/netstandard1.3/zh-hant/System.Threading.Tasks.xml", 929 | "ref/portable-net45+win8+wp8+wpa81/_._", 930 | "ref/win8/_._", 931 | "ref/wp80/_._", 932 | "ref/wpa81/_._", 933 | "ref/xamarinios10/_._", 934 | "ref/xamarinmac20/_._", 935 | "ref/xamarintvos10/_._", 936 | "ref/xamarinwatchos10/_._", 937 | "system.threading.tasks.4.0.11.nupkg.sha512", 938 | "system.threading.tasks.nuspec" 939 | ] 940 | }, 941 | "System.Threading.Thread/4.0.0": { 942 | "sha512": "gIdJqDXlOr5W9zeqFErLw3dsOsiShSCYtF9SEHitACycmvNvY8odf9kiKvp6V7aibc8C4HzzNBkWXjyfn7plbQ==", 943 | "type": "package", 944 | "path": "system.threading.thread/4.0.0", 945 | "files": [ 946 | "ThirdPartyNotices.txt", 947 | "dotnet_library_license.txt", 948 | "lib/MonoAndroid10/_._", 949 | "lib/MonoTouch10/_._", 950 | "lib/net46/System.Threading.Thread.dll", 951 | "lib/netcore50/_._", 952 | "lib/netstandard1.3/System.Threading.Thread.dll", 953 | "lib/xamarinios10/_._", 954 | "lib/xamarinmac20/_._", 955 | "lib/xamarintvos10/_._", 956 | "lib/xamarinwatchos10/_._", 957 | "ref/MonoAndroid10/_._", 958 | "ref/MonoTouch10/_._", 959 | "ref/net46/System.Threading.Thread.dll", 960 | "ref/netstandard1.3/System.Threading.Thread.dll", 961 | "ref/netstandard1.3/System.Threading.Thread.xml", 962 | "ref/netstandard1.3/de/System.Threading.Thread.xml", 963 | "ref/netstandard1.3/es/System.Threading.Thread.xml", 964 | "ref/netstandard1.3/fr/System.Threading.Thread.xml", 965 | "ref/netstandard1.3/it/System.Threading.Thread.xml", 966 | "ref/netstandard1.3/ja/System.Threading.Thread.xml", 967 | "ref/netstandard1.3/ko/System.Threading.Thread.xml", 968 | "ref/netstandard1.3/ru/System.Threading.Thread.xml", 969 | "ref/netstandard1.3/zh-hans/System.Threading.Thread.xml", 970 | "ref/netstandard1.3/zh-hant/System.Threading.Thread.xml", 971 | "ref/xamarinios10/_._", 972 | "ref/xamarinmac20/_._", 973 | "ref/xamarintvos10/_._", 974 | "ref/xamarinwatchos10/_._", 975 | "system.threading.thread.4.0.0.nupkg.sha512", 976 | "system.threading.thread.nuspec" 977 | ] 978 | }, 979 | "System.Threading.ThreadPool/4.0.10": { 980 | "sha512": "IMXgB5Vf/5Qw1kpoVgJMOvUO1l32aC+qC3OaIZjWJOjvcxuxNWOK2ZTWWYXfij22NHxT2j1yWX5vlAeQWld9vA==", 981 | "type": "package", 982 | "path": "system.threading.threadpool/4.0.10", 983 | "files": [ 984 | "ThirdPartyNotices.txt", 985 | "dotnet_library_license.txt", 986 | "lib/MonoAndroid10/_._", 987 | "lib/MonoTouch10/_._", 988 | "lib/net46/System.Threading.ThreadPool.dll", 989 | "lib/netcore50/_._", 990 | "lib/netstandard1.3/System.Threading.ThreadPool.dll", 991 | "lib/xamarinios10/_._", 992 | "lib/xamarinmac20/_._", 993 | "lib/xamarintvos10/_._", 994 | "lib/xamarinwatchos10/_._", 995 | "ref/MonoAndroid10/_._", 996 | "ref/MonoTouch10/_._", 997 | "ref/net46/System.Threading.ThreadPool.dll", 998 | "ref/netstandard1.3/System.Threading.ThreadPool.dll", 999 | "ref/netstandard1.3/System.Threading.ThreadPool.xml", 1000 | "ref/netstandard1.3/de/System.Threading.ThreadPool.xml", 1001 | "ref/netstandard1.3/es/System.Threading.ThreadPool.xml", 1002 | "ref/netstandard1.3/fr/System.Threading.ThreadPool.xml", 1003 | "ref/netstandard1.3/it/System.Threading.ThreadPool.xml", 1004 | "ref/netstandard1.3/ja/System.Threading.ThreadPool.xml", 1005 | "ref/netstandard1.3/ko/System.Threading.ThreadPool.xml", 1006 | "ref/netstandard1.3/ru/System.Threading.ThreadPool.xml", 1007 | "ref/netstandard1.3/zh-hans/System.Threading.ThreadPool.xml", 1008 | "ref/netstandard1.3/zh-hant/System.Threading.ThreadPool.xml", 1009 | "ref/xamarinios10/_._", 1010 | "ref/xamarinmac20/_._", 1011 | "ref/xamarintvos10/_._", 1012 | "ref/xamarinwatchos10/_._", 1013 | "system.threading.threadpool.4.0.10.nupkg.sha512", 1014 | "system.threading.threadpool.nuspec" 1015 | ] 1016 | }, 1017 | "Snai.GrpcService.Protocol/1.0.0": { 1018 | "type": "project", 1019 | "path": "../Snai.GrpcService.Protocol/Snai.GrpcService.Protocol.csproj", 1020 | "msbuildProject": "../Snai.GrpcService.Protocol/Snai.GrpcService.Protocol.csproj" 1021 | } 1022 | }, 1023 | "projectFileDependencyGroups": { 1024 | ".NETStandard,Version=v2.0": [ 1025 | "Grpc.Core >= 1.11.0", 1026 | "NETStandard.Library >= 2.0.0", 1027 | "Snai.GrpcService.Protocol >= 1.0.0" 1028 | ] 1029 | }, 1030 | "packageFolders": { 1031 | "C:\\Users\\Administrator\\.nuget\\packages\\": {}, 1032 | "C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder": {} 1033 | }, 1034 | "project": { 1035 | "version": "1.0.0", 1036 | "restoreSettings": { 1037 | "hideWarningsAndErrors": true 1038 | }, 1039 | "restore": { 1040 | "projectUniqueName": "E:\\学习资料\\DotNet\\开发目录\\Grpc Consul\\Snai.GrpcService\\Snai.GrpcService.Impl\\Snai.GrpcService.Impl.csproj", 1041 | "projectName": "Snai.GrpcService.Impl", 1042 | "projectPath": "E:\\学习资料\\DotNet\\开发目录\\Grpc Consul\\Snai.GrpcService\\Snai.GrpcService.Impl\\Snai.GrpcService.Impl.csproj", 1043 | "packagesPath": "C:\\Users\\Administrator\\.nuget\\packages\\", 1044 | "outputPath": "E:\\学习资料\\DotNet\\开发目录\\Grpc Consul\\Snai.GrpcService\\Snai.GrpcService.Impl\\obj\\", 1045 | "projectStyle": "PackageReference", 1046 | "fallbackFolders": [ 1047 | "C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder" 1048 | ], 1049 | "configFilePaths": [ 1050 | "C:\\Users\\Administrator\\AppData\\Roaming\\NuGet\\NuGet.Config", 1051 | "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" 1052 | ], 1053 | "originalTargetFrameworks": [ 1054 | "netstandard2.0" 1055 | ], 1056 | "sources": { 1057 | "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {}, 1058 | "https://api.nuget.org/v3/index.json": {} 1059 | }, 1060 | "frameworks": { 1061 | "netstandard2.0": { 1062 | "projectReferences": { 1063 | "E:\\学习资料\\DotNet\\开发目录\\Grpc Consul\\Snai.GrpcService\\Snai.GrpcService.Protocol\\Snai.GrpcService.Protocol.csproj": { 1064 | "projectPath": "E:\\学习资料\\DotNet\\开发目录\\Grpc Consul\\Snai.GrpcService\\Snai.GrpcService.Protocol\\Snai.GrpcService.Protocol.csproj" 1065 | } 1066 | } 1067 | } 1068 | }, 1069 | "warningProperties": { 1070 | "warnAsError": [ 1071 | "NU1605" 1072 | ] 1073 | } 1074 | }, 1075 | "frameworks": { 1076 | "netstandard2.0": { 1077 | "dependencies": { 1078 | "Grpc.Core": { 1079 | "target": "Package", 1080 | "version": "[1.11.0, )" 1081 | }, 1082 | "NETStandard.Library": { 1083 | "suppressParent": "All", 1084 | "target": "Package", 1085 | "version": "[2.0.0, )", 1086 | "autoReferenced": true 1087 | } 1088 | }, 1089 | "imports": [ 1090 | "net461" 1091 | ], 1092 | "assetTargetFallback": true, 1093 | "warn": true 1094 | } 1095 | } 1096 | } 1097 | } -------------------------------------------------------------------------------- /Snai.GrpcService/Snai.GrpcService.Protocol/Msg.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Generated by the protocol buffer compiler. DO NOT EDIT! 3 | // source: msg.proto 4 | // 5 | #pragma warning disable 1591, 0612, 3021 6 | #region Designer generated code 7 | 8 | using pb = global::Google.Protobuf; 9 | using pbc = global::Google.Protobuf.Collections; 10 | using pbr = global::Google.Protobuf.Reflection; 11 | using scg = global::System.Collections.Generic; 12 | namespace Snai.GrpcService.Protocol { 13 | 14 | /// Holder for reflection information generated from msg.proto 15 | public static partial class MsgReflection { 16 | 17 | #region Descriptor 18 | /// File descriptor for msg.proto 19 | public static pbr::FileDescriptor Descriptor { 20 | get { return descriptor; } 21 | } 22 | private static pbr::FileDescriptor descriptor; 23 | 24 | static MsgReflection() { 25 | byte[] descriptorData = global::System.Convert.FromBase64String( 26 | string.Concat( 27 | "Cgltc2cucHJvdG8SGVNuYWkuR3JwY1NlcnZpY2UuUHJvdG9jb2wiLgoQR2V0", 28 | "TXNnTnVtUmVxdWVzdBIMCgROdW0xGAEgASgFEgwKBE51bTIYAiABKAUiHQoO", 29 | "R2V0TXNnU3VtUmVwbHkSCwoDU3VtGAEgASgFMnAKCk1zZ1NlcnZpY2USYgoG", 30 | "R2V0U3VtEisuU25haS5HcnBjU2VydmljZS5Qcm90b2NvbC5HZXRNc2dOdW1S", 31 | "ZXF1ZXN0GikuU25haS5HcnBjU2VydmljZS5Qcm90b2NvbC5HZXRNc2dTdW1S", 32 | "ZXBseSIAYgZwcm90bzM=")); 33 | descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, 34 | new pbr::FileDescriptor[] { }, 35 | new pbr::GeneratedClrTypeInfo(null, new pbr::GeneratedClrTypeInfo[] { 36 | new pbr::GeneratedClrTypeInfo(typeof(global::Snai.GrpcService.Protocol.GetMsgNumRequest), global::Snai.GrpcService.Protocol.GetMsgNumRequest.Parser, new[]{ "Num1", "Num2" }, null, null, null), 37 | new pbr::GeneratedClrTypeInfo(typeof(global::Snai.GrpcService.Protocol.GetMsgSumReply), global::Snai.GrpcService.Protocol.GetMsgSumReply.Parser, new[]{ "Sum" }, null, null, null) 38 | })); 39 | } 40 | #endregion 41 | 42 | } 43 | #region Messages 44 | public sealed partial class GetMsgNumRequest : pb::IMessage { 45 | private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new GetMsgNumRequest()); 46 | private pb::UnknownFieldSet _unknownFields; 47 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] 48 | public static pb::MessageParser Parser { get { return _parser; } } 49 | 50 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] 51 | public static pbr::MessageDescriptor Descriptor { 52 | get { return global::Snai.GrpcService.Protocol.MsgReflection.Descriptor.MessageTypes[0]; } 53 | } 54 | 55 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] 56 | pbr::MessageDescriptor pb::IMessage.Descriptor { 57 | get { return Descriptor; } 58 | } 59 | 60 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] 61 | public GetMsgNumRequest() { 62 | OnConstruction(); 63 | } 64 | 65 | partial void OnConstruction(); 66 | 67 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] 68 | public GetMsgNumRequest(GetMsgNumRequest other) : this() { 69 | num1_ = other.num1_; 70 | num2_ = other.num2_; 71 | _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); 72 | } 73 | 74 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] 75 | public GetMsgNumRequest Clone() { 76 | return new GetMsgNumRequest(this); 77 | } 78 | 79 | /// Field number for the "Num1" field. 80 | public const int Num1FieldNumber = 1; 81 | private int num1_; 82 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] 83 | public int Num1 { 84 | get { return num1_; } 85 | set { 86 | num1_ = value; 87 | } 88 | } 89 | 90 | /// Field number for the "Num2" field. 91 | public const int Num2FieldNumber = 2; 92 | private int num2_; 93 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] 94 | public int Num2 { 95 | get { return num2_; } 96 | set { 97 | num2_ = value; 98 | } 99 | } 100 | 101 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] 102 | public override bool Equals(object other) { 103 | return Equals(other as GetMsgNumRequest); 104 | } 105 | 106 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] 107 | public bool Equals(GetMsgNumRequest other) { 108 | if (ReferenceEquals(other, null)) { 109 | return false; 110 | } 111 | if (ReferenceEquals(other, this)) { 112 | return true; 113 | } 114 | if (Num1 != other.Num1) return false; 115 | if (Num2 != other.Num2) return false; 116 | return Equals(_unknownFields, other._unknownFields); 117 | } 118 | 119 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] 120 | public override int GetHashCode() { 121 | int hash = 1; 122 | if (Num1 != 0) hash ^= Num1.GetHashCode(); 123 | if (Num2 != 0) hash ^= Num2.GetHashCode(); 124 | if (_unknownFields != null) { 125 | hash ^= _unknownFields.GetHashCode(); 126 | } 127 | return hash; 128 | } 129 | 130 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] 131 | public override string ToString() { 132 | return pb::JsonFormatter.ToDiagnosticString(this); 133 | } 134 | 135 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] 136 | public void WriteTo(pb::CodedOutputStream output) { 137 | if (Num1 != 0) { 138 | output.WriteRawTag(8); 139 | output.WriteInt32(Num1); 140 | } 141 | if (Num2 != 0) { 142 | output.WriteRawTag(16); 143 | output.WriteInt32(Num2); 144 | } 145 | if (_unknownFields != null) { 146 | _unknownFields.WriteTo(output); 147 | } 148 | } 149 | 150 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] 151 | public int CalculateSize() { 152 | int size = 0; 153 | if (Num1 != 0) { 154 | size += 1 + pb::CodedOutputStream.ComputeInt32Size(Num1); 155 | } 156 | if (Num2 != 0) { 157 | size += 1 + pb::CodedOutputStream.ComputeInt32Size(Num2); 158 | } 159 | if (_unknownFields != null) { 160 | size += _unknownFields.CalculateSize(); 161 | } 162 | return size; 163 | } 164 | 165 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] 166 | public void MergeFrom(GetMsgNumRequest other) { 167 | if (other == null) { 168 | return; 169 | } 170 | if (other.Num1 != 0) { 171 | Num1 = other.Num1; 172 | } 173 | if (other.Num2 != 0) { 174 | Num2 = other.Num2; 175 | } 176 | _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); 177 | } 178 | 179 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] 180 | public void MergeFrom(pb::CodedInputStream input) { 181 | uint tag; 182 | while ((tag = input.ReadTag()) != 0) { 183 | switch(tag) { 184 | default: 185 | _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); 186 | break; 187 | case 8: { 188 | Num1 = input.ReadInt32(); 189 | break; 190 | } 191 | case 16: { 192 | Num2 = input.ReadInt32(); 193 | break; 194 | } 195 | } 196 | } 197 | } 198 | 199 | } 200 | 201 | public sealed partial class GetMsgSumReply : pb::IMessage { 202 | private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new GetMsgSumReply()); 203 | private pb::UnknownFieldSet _unknownFields; 204 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] 205 | public static pb::MessageParser Parser { get { return _parser; } } 206 | 207 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] 208 | public static pbr::MessageDescriptor Descriptor { 209 | get { return global::Snai.GrpcService.Protocol.MsgReflection.Descriptor.MessageTypes[1]; } 210 | } 211 | 212 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] 213 | pbr::MessageDescriptor pb::IMessage.Descriptor { 214 | get { return Descriptor; } 215 | } 216 | 217 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] 218 | public GetMsgSumReply() { 219 | OnConstruction(); 220 | } 221 | 222 | partial void OnConstruction(); 223 | 224 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] 225 | public GetMsgSumReply(GetMsgSumReply other) : this() { 226 | sum_ = other.sum_; 227 | _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); 228 | } 229 | 230 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] 231 | public GetMsgSumReply Clone() { 232 | return new GetMsgSumReply(this); 233 | } 234 | 235 | /// Field number for the "Sum" field. 236 | public const int SumFieldNumber = 1; 237 | private int sum_; 238 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] 239 | public int Sum { 240 | get { return sum_; } 241 | set { 242 | sum_ = value; 243 | } 244 | } 245 | 246 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] 247 | public override bool Equals(object other) { 248 | return Equals(other as GetMsgSumReply); 249 | } 250 | 251 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] 252 | public bool Equals(GetMsgSumReply other) { 253 | if (ReferenceEquals(other, null)) { 254 | return false; 255 | } 256 | if (ReferenceEquals(other, this)) { 257 | return true; 258 | } 259 | if (Sum != other.Sum) return false; 260 | return Equals(_unknownFields, other._unknownFields); 261 | } 262 | 263 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] 264 | public override int GetHashCode() { 265 | int hash = 1; 266 | if (Sum != 0) hash ^= Sum.GetHashCode(); 267 | if (_unknownFields != null) { 268 | hash ^= _unknownFields.GetHashCode(); 269 | } 270 | return hash; 271 | } 272 | 273 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] 274 | public override string ToString() { 275 | return pb::JsonFormatter.ToDiagnosticString(this); 276 | } 277 | 278 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] 279 | public void WriteTo(pb::CodedOutputStream output) { 280 | if (Sum != 0) { 281 | output.WriteRawTag(8); 282 | output.WriteInt32(Sum); 283 | } 284 | if (_unknownFields != null) { 285 | _unknownFields.WriteTo(output); 286 | } 287 | } 288 | 289 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] 290 | public int CalculateSize() { 291 | int size = 0; 292 | if (Sum != 0) { 293 | size += 1 + pb::CodedOutputStream.ComputeInt32Size(Sum); 294 | } 295 | if (_unknownFields != null) { 296 | size += _unknownFields.CalculateSize(); 297 | } 298 | return size; 299 | } 300 | 301 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] 302 | public void MergeFrom(GetMsgSumReply other) { 303 | if (other == null) { 304 | return; 305 | } 306 | if (other.Sum != 0) { 307 | Sum = other.Sum; 308 | } 309 | _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); 310 | } 311 | 312 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] 313 | public void MergeFrom(pb::CodedInputStream input) { 314 | uint tag; 315 | while ((tag = input.ReadTag()) != 0) { 316 | switch(tag) { 317 | default: 318 | _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); 319 | break; 320 | case 8: { 321 | Sum = input.ReadInt32(); 322 | break; 323 | } 324 | } 325 | } 326 | } 327 | 328 | } 329 | 330 | #endregion 331 | 332 | } 333 | 334 | #endregion Designer generated code 335 | -------------------------------------------------------------------------------- /Snai.GrpcService/Snai.GrpcService.Protocol/MsgGrpc.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Generated by the protocol buffer compiler. DO NOT EDIT! 3 | // source: msg.proto 4 | // 5 | #pragma warning disable 1591 6 | #region Designer generated code 7 | 8 | using grpc = global::Grpc.Core; 9 | 10 | namespace Snai.GrpcService.Protocol { 11 | public static partial class MsgService 12 | { 13 | static readonly string __ServiceName = "Snai.GrpcService.Protocol.MsgService"; 14 | 15 | static readonly grpc::Marshaller __Marshaller_GetMsgNumRequest = grpc::Marshallers.Create((arg) => global::Google.Protobuf.MessageExtensions.ToByteArray(arg), global::Snai.GrpcService.Protocol.GetMsgNumRequest.Parser.ParseFrom); 16 | static readonly grpc::Marshaller __Marshaller_GetMsgSumReply = grpc::Marshallers.Create((arg) => global::Google.Protobuf.MessageExtensions.ToByteArray(arg), global::Snai.GrpcService.Protocol.GetMsgSumReply.Parser.ParseFrom); 17 | 18 | static readonly grpc::Method __Method_GetSum = new grpc::Method( 19 | grpc::MethodType.Unary, 20 | __ServiceName, 21 | "GetSum", 22 | __Marshaller_GetMsgNumRequest, 23 | __Marshaller_GetMsgSumReply); 24 | 25 | /// Service descriptor 26 | public static global::Google.Protobuf.Reflection.ServiceDescriptor Descriptor 27 | { 28 | get { return global::Snai.GrpcService.Protocol.MsgReflection.Descriptor.Services[0]; } 29 | } 30 | 31 | /// Base class for server-side implementations of MsgService 32 | public abstract partial class MsgServiceBase 33 | { 34 | public virtual global::System.Threading.Tasks.Task GetSum(global::Snai.GrpcService.Protocol.GetMsgNumRequest request, grpc::ServerCallContext context) 35 | { 36 | throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, "")); 37 | } 38 | 39 | } 40 | 41 | /// Client for MsgService 42 | public partial class MsgServiceClient : grpc::ClientBase 43 | { 44 | /// Creates a new client for MsgService 45 | /// The channel to use to make remote calls. 46 | public MsgServiceClient(grpc::Channel channel) : base(channel) 47 | { 48 | } 49 | /// Creates a new client for MsgService that uses a custom CallInvoker. 50 | /// The callInvoker to use to make remote calls. 51 | public MsgServiceClient(grpc::CallInvoker callInvoker) : base(callInvoker) 52 | { 53 | } 54 | /// Protected parameterless constructor to allow creation of test doubles. 55 | protected MsgServiceClient() : base() 56 | { 57 | } 58 | /// Protected constructor to allow creation of configured clients. 59 | /// The client configuration. 60 | protected MsgServiceClient(ClientBaseConfiguration configuration) : base(configuration) 61 | { 62 | } 63 | 64 | public virtual global::Snai.GrpcService.Protocol.GetMsgSumReply GetSum(global::Snai.GrpcService.Protocol.GetMsgNumRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) 65 | { 66 | return GetSum(request, new grpc::CallOptions(headers, deadline, cancellationToken)); 67 | } 68 | public virtual global::Snai.GrpcService.Protocol.GetMsgSumReply GetSum(global::Snai.GrpcService.Protocol.GetMsgNumRequest request, grpc::CallOptions options) 69 | { 70 | return CallInvoker.BlockingUnaryCall(__Method_GetSum, null, options, request); 71 | } 72 | public virtual grpc::AsyncUnaryCall GetSumAsync(global::Snai.GrpcService.Protocol.GetMsgNumRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken)) 73 | { 74 | return GetSumAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken)); 75 | } 76 | public virtual grpc::AsyncUnaryCall GetSumAsync(global::Snai.GrpcService.Protocol.GetMsgNumRequest request, grpc::CallOptions options) 77 | { 78 | return CallInvoker.AsyncUnaryCall(__Method_GetSum, null, options, request); 79 | } 80 | /// Creates a new instance of client from given ClientBaseConfiguration. 81 | protected override MsgServiceClient NewInstance(ClientBaseConfiguration configuration) 82 | { 83 | return new MsgServiceClient(configuration); 84 | } 85 | } 86 | 87 | /// Creates service definition that can be registered with a server 88 | /// An object implementing the server-side handling logic. 89 | public static grpc::ServerServiceDefinition BindService(MsgServiceBase serviceImpl) 90 | { 91 | return grpc::ServerServiceDefinition.CreateBuilder() 92 | .AddMethod(__Method_GetSum, serviceImpl.GetSum).Build(); 93 | } 94 | 95 | } 96 | } 97 | #endregion 98 | -------------------------------------------------------------------------------- /Snai.GrpcService/Snai.GrpcService.Protocol/ProtocGenerate.cmd: -------------------------------------------------------------------------------- 1 | protoc -I . --csharp_out . --grpc_out . --plugin=protoc-gen-grpc=grpc_csharp_plugin.exe msg.proto -------------------------------------------------------------------------------- /Snai.GrpcService/Snai.GrpcService.Protocol/Snai.GrpcService.Protocol.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | netstandard2.0 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Snai.GrpcService/Snai.GrpcService.Protocol/Snai.GrpcService.Protocol.csproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | false 5 | 6 | -------------------------------------------------------------------------------- /Snai.GrpcService/Snai.GrpcService.Protocol/grpc_csharp_plugin.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Liu-Alan/Grpc-Consul/c0fb219e3739756f6fdb659b50a220be50bd4894/Snai.GrpcService/Snai.GrpcService.Protocol/grpc_csharp_plugin.exe -------------------------------------------------------------------------------- /Snai.GrpcService/Snai.GrpcService.Protocol/msg.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package Snai.GrpcService.Protocol; 4 | 5 | service MsgService{ 6 | rpc GetSum(GetMsgNumRequest) returns (GetMsgSumReply){} 7 | } 8 | 9 | message GetMsgNumRequest { 10 | int32 Num1 = 1; 11 | int32 Num2 = 2; 12 | } 13 | 14 | message GetMsgSumReply { 15 | int32 Sum = 1; 16 | } -------------------------------------------------------------------------------- /Snai.GrpcService/Snai.GrpcService.Protocol/obj/Debug/netstandard2.0/Snai.GrpcService.Protocol.AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // 此代码由工具生成。 4 | // 运行时版本:4.0.30319.42000 5 | // 6 | // 对此文件的更改可能会导致不正确的行为,并且如果 7 | // 重新生成代码,这些更改将会丢失。 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | using System; 12 | using System.Reflection; 13 | 14 | [assembly: System.Reflection.AssemblyCompanyAttribute("Snai.GrpcService.Protocol")] 15 | [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] 16 | [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] 17 | [assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")] 18 | [assembly: System.Reflection.AssemblyProductAttribute("Snai.GrpcService.Protocol")] 19 | [assembly: System.Reflection.AssemblyTitleAttribute("Snai.GrpcService.Protocol")] 20 | [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] 21 | 22 | // 由 MSBuild WriteCodeFragment 类生成。 23 | 24 | -------------------------------------------------------------------------------- /Snai.GrpcService/Snai.GrpcService.Protocol/obj/Debug/netstandard2.0/Snai.GrpcService.Protocol.AssemblyInfoInputs.cache: -------------------------------------------------------------------------------- 1 | f16f357e98ad365f9b6aaf8a6b6e023b14ebdef9 2 | -------------------------------------------------------------------------------- /Snai.GrpcService/Snai.GrpcService.Protocol/obj/Debug/netstandard2.0/Snai.GrpcService.Protocol.csproj.CoreCompileInputs.cache: -------------------------------------------------------------------------------- 1 | fa144b88f7f32df5dee4d4898d4bb00a157f0e65 2 | -------------------------------------------------------------------------------- /Snai.GrpcService/Snai.GrpcService.Protocol/obj/Debug/netstandard2.0/Snai.GrpcService.Protocol.csproj.FileListAbsolute.txt: -------------------------------------------------------------------------------- 1 | E:\学习资料\DotNet\开发目录\Grpc Consul\Snai.GrpcService\Snai.GrpcService.Protocol\bin\Debug\netstandard2.0\Snai.GrpcService.Protocol.deps.json 2 | E:\学习资料\DotNet\开发目录\Grpc Consul\Snai.GrpcService\Snai.GrpcService.Protocol\bin\Debug\netstandard2.0\Snai.GrpcService.Protocol.dll 3 | E:\学习资料\DotNet\开发目录\Grpc Consul\Snai.GrpcService\Snai.GrpcService.Protocol\bin\Debug\netstandard2.0\Snai.GrpcService.Protocol.pdb 4 | E:\学习资料\DotNet\开发目录\Grpc Consul\Snai.GrpcService\Snai.GrpcService.Protocol\obj\Debug\netstandard2.0\Snai.GrpcService.Protocol.csproj.CoreCompileInputs.cache 5 | E:\学习资料\DotNet\开发目录\Grpc Consul\Snai.GrpcService\Snai.GrpcService.Protocol\obj\Debug\netstandard2.0\Snai.GrpcService.Protocol.AssemblyInfoInputs.cache 6 | E:\学习资料\DotNet\开发目录\Grpc Consul\Snai.GrpcService\Snai.GrpcService.Protocol\obj\Debug\netstandard2.0\Snai.GrpcService.Protocol.AssemblyInfo.cs 7 | E:\学习资料\DotNet\开发目录\Grpc Consul\Snai.GrpcService\Snai.GrpcService.Protocol\obj\Debug\netstandard2.0\Snai.GrpcService.Protocol.dll 8 | E:\学习资料\DotNet\开发目录\Grpc Consul\Snai.GrpcService\Snai.GrpcService.Protocol\obj\Debug\netstandard2.0\Snai.GrpcService.Protocol.pdb 9 | E:\学习资料\DotNet\开发目录\Grpc Consul\Snai.GrpcService\Snai.GrpcService.Protocol\obj\Debug\netstandard2.0\Snai.GrpcService.Protocol.csprojResolveAssemblyReference.cache 10 | -------------------------------------------------------------------------------- /Snai.GrpcService/Snai.GrpcService.Protocol/obj/Debug/netstandard2.0/Snai.GrpcService.Protocol.csprojResolveAssemblyReference.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Liu-Alan/Grpc-Consul/c0fb219e3739756f6fdb659b50a220be50bd4894/Snai.GrpcService/Snai.GrpcService.Protocol/obj/Debug/netstandard2.0/Snai.GrpcService.Protocol.csprojResolveAssemblyReference.cache -------------------------------------------------------------------------------- /Snai.GrpcService/Snai.GrpcService.Protocol/obj/Debug/netstandard2.0/Snai.GrpcService.Protocol.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Liu-Alan/Grpc-Consul/c0fb219e3739756f6fdb659b50a220be50bd4894/Snai.GrpcService/Snai.GrpcService.Protocol/obj/Debug/netstandard2.0/Snai.GrpcService.Protocol.dll -------------------------------------------------------------------------------- /Snai.GrpcService/Snai.GrpcService.Protocol/obj/Debug/netstandard2.0/Snai.GrpcService.Protocol.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Liu-Alan/Grpc-Consul/c0fb219e3739756f6fdb659b50a220be50bd4894/Snai.GrpcService/Snai.GrpcService.Protocol/obj/Debug/netstandard2.0/Snai.GrpcService.Protocol.pdb -------------------------------------------------------------------------------- /Snai.GrpcService/Snai.GrpcService.Protocol/obj/Snai.GrpcService.Protocol.csproj.nuget.cache: -------------------------------------------------------------------------------- 1 | { 2 | "version": 1, 3 | "dgSpecHash": "Sv2c9O28B9lL2x1B99BpuMTPh31v8OJqq4+Di0aH2p/WugWU2NhUgfvmG/1vnNxPLDzWO9lRrR7PNmuq5blzNQ==", 4 | "success": true 5 | } -------------------------------------------------------------------------------- /Snai.GrpcService/Snai.GrpcService.Protocol/obj/Snai.GrpcService.Protocol.csproj.nuget.g.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | True 5 | NuGet 6 | E:\学习资料\DotNet\开发目录\Grpc Consul\Snai.GrpcService\Snai.GrpcService.Protocol\obj\project.assets.json 7 | $(UserProfile)\.nuget\packages\ 8 | C:\Users\Administrator\.nuget\packages\;C:\Program Files\dotnet\sdk\NuGetFallbackFolder 9 | PackageReference 10 | 4.5.0 11 | 12 | 13 | $(MSBuildAllProjects);$(MSBuildThisFileFullPath) 14 | 15 | -------------------------------------------------------------------------------- /Snai.GrpcService/Snai.GrpcService.Protocol/obj/Snai.GrpcService.Protocol.csproj.nuget.g.targets: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | $(MSBuildAllProjects);$(MSBuildThisFileFullPath) 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Snai.GrpcService/Snai.GrpcService.Protocol/obj/project.assets.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 3, 3 | "targets": { 4 | ".NETStandard,Version=v2.0": { 5 | "Google.Protobuf/3.5.1": { 6 | "type": "package", 7 | "dependencies": { 8 | "NETStandard.Library": "1.6.1" 9 | }, 10 | "compile": { 11 | "lib/netstandard1.0/Google.Protobuf.dll": {} 12 | }, 13 | "runtime": { 14 | "lib/netstandard1.0/Google.Protobuf.dll": {} 15 | } 16 | }, 17 | "Grpc.Core/1.11.0": { 18 | "type": "package", 19 | "dependencies": { 20 | "NETStandard.Library": "1.6.1", 21 | "System.Interactive.Async": "3.1.1", 22 | "System.Runtime.Loader": "4.0.0", 23 | "System.Threading.Thread": "4.0.0", 24 | "System.Threading.ThreadPool": "4.0.10" 25 | }, 26 | "compile": { 27 | "lib/netstandard1.5/Grpc.Core.dll": {} 28 | }, 29 | "runtime": { 30 | "lib/netstandard1.5/Grpc.Core.dll": {} 31 | }, 32 | "runtimeTargets": { 33 | "runtimes/linux/native/libgrpc_csharp_ext.x64.so": { 34 | "assetType": "native", 35 | "rid": "linux" 36 | }, 37 | "runtimes/linux/native/libgrpc_csharp_ext.x86.so": { 38 | "assetType": "native", 39 | "rid": "linux" 40 | }, 41 | "runtimes/osx/native/libgrpc_csharp_ext.x64.dylib": { 42 | "assetType": "native", 43 | "rid": "osx" 44 | }, 45 | "runtimes/osx/native/libgrpc_csharp_ext.x86.dylib": { 46 | "assetType": "native", 47 | "rid": "osx" 48 | }, 49 | "runtimes/win/native/grpc_csharp_ext.x64.dll": { 50 | "assetType": "native", 51 | "rid": "win" 52 | }, 53 | "runtimes/win/native/grpc_csharp_ext.x86.dll": { 54 | "assetType": "native", 55 | "rid": "win" 56 | } 57 | } 58 | }, 59 | "Microsoft.NETCore.Platforms/1.1.0": { 60 | "type": "package", 61 | "compile": { 62 | "lib/netstandard1.0/_._": {} 63 | }, 64 | "runtime": { 65 | "lib/netstandard1.0/_._": {} 66 | } 67 | }, 68 | "Microsoft.NETCore.Targets/1.0.1": { 69 | "type": "package", 70 | "compile": { 71 | "lib/netstandard1.0/_._": {} 72 | }, 73 | "runtime": { 74 | "lib/netstandard1.0/_._": {} 75 | } 76 | }, 77 | "NETStandard.Library/2.0.0": { 78 | "type": "package", 79 | "dependencies": { 80 | "Microsoft.NETCore.Platforms": "1.1.0" 81 | }, 82 | "compile": { 83 | "lib/netstandard1.0/_._": {} 84 | }, 85 | "runtime": { 86 | "lib/netstandard1.0/_._": {} 87 | }, 88 | "build": { 89 | "build/netstandard2.0/NETStandard.Library.targets": {} 90 | } 91 | }, 92 | "System.Interactive.Async/3.1.1": { 93 | "type": "package", 94 | "dependencies": { 95 | "NETStandard.Library": "1.6.0" 96 | }, 97 | "compile": { 98 | "lib/netstandard1.3/System.Interactive.Async.dll": {} 99 | }, 100 | "runtime": { 101 | "lib/netstandard1.3/System.Interactive.Async.dll": {} 102 | } 103 | }, 104 | "System.IO/4.1.0": { 105 | "type": "package", 106 | "dependencies": { 107 | "Microsoft.NETCore.Platforms": "1.0.1", 108 | "Microsoft.NETCore.Targets": "1.0.1", 109 | "System.Runtime": "4.1.0", 110 | "System.Text.Encoding": "4.0.11", 111 | "System.Threading.Tasks": "4.0.11" 112 | }, 113 | "compile": { 114 | "ref/netstandard1.5/System.IO.dll": {} 115 | } 116 | }, 117 | "System.Reflection/4.1.0": { 118 | "type": "package", 119 | "dependencies": { 120 | "Microsoft.NETCore.Platforms": "1.0.1", 121 | "Microsoft.NETCore.Targets": "1.0.1", 122 | "System.IO": "4.1.0", 123 | "System.Reflection.Primitives": "4.0.1", 124 | "System.Runtime": "4.1.0" 125 | }, 126 | "compile": { 127 | "ref/netstandard1.5/System.Reflection.dll": {} 128 | } 129 | }, 130 | "System.Reflection.Primitives/4.0.1": { 131 | "type": "package", 132 | "dependencies": { 133 | "Microsoft.NETCore.Platforms": "1.0.1", 134 | "Microsoft.NETCore.Targets": "1.0.1", 135 | "System.Runtime": "4.1.0" 136 | }, 137 | "compile": { 138 | "ref/netstandard1.0/System.Reflection.Primitives.dll": {} 139 | } 140 | }, 141 | "System.Runtime/4.1.0": { 142 | "type": "package", 143 | "dependencies": { 144 | "Microsoft.NETCore.Platforms": "1.0.1", 145 | "Microsoft.NETCore.Targets": "1.0.1" 146 | }, 147 | "compile": { 148 | "ref/netstandard1.5/System.Runtime.dll": {} 149 | } 150 | }, 151 | "System.Runtime.Handles/4.0.1": { 152 | "type": "package", 153 | "dependencies": { 154 | "Microsoft.NETCore.Platforms": "1.0.1", 155 | "Microsoft.NETCore.Targets": "1.0.1", 156 | "System.Runtime": "4.1.0" 157 | }, 158 | "compile": { 159 | "ref/netstandard1.3/System.Runtime.Handles.dll": {} 160 | } 161 | }, 162 | "System.Runtime.Loader/4.0.0": { 163 | "type": "package", 164 | "dependencies": { 165 | "System.IO": "4.1.0", 166 | "System.Reflection": "4.1.0", 167 | "System.Runtime": "4.1.0" 168 | }, 169 | "compile": { 170 | "ref/netstandard1.5/System.Runtime.Loader.dll": {} 171 | }, 172 | "runtime": { 173 | "lib/netstandard1.5/System.Runtime.Loader.dll": {} 174 | } 175 | }, 176 | "System.Text.Encoding/4.0.11": { 177 | "type": "package", 178 | "dependencies": { 179 | "Microsoft.NETCore.Platforms": "1.0.1", 180 | "Microsoft.NETCore.Targets": "1.0.1", 181 | "System.Runtime": "4.1.0" 182 | }, 183 | "compile": { 184 | "ref/netstandard1.3/System.Text.Encoding.dll": {} 185 | } 186 | }, 187 | "System.Threading.Tasks/4.0.11": { 188 | "type": "package", 189 | "dependencies": { 190 | "Microsoft.NETCore.Platforms": "1.0.1", 191 | "Microsoft.NETCore.Targets": "1.0.1", 192 | "System.Runtime": "4.1.0" 193 | }, 194 | "compile": { 195 | "ref/netstandard1.3/System.Threading.Tasks.dll": {} 196 | } 197 | }, 198 | "System.Threading.Thread/4.0.0": { 199 | "type": "package", 200 | "dependencies": { 201 | "System.Runtime": "4.1.0" 202 | }, 203 | "compile": { 204 | "ref/netstandard1.3/System.Threading.Thread.dll": {} 205 | }, 206 | "runtime": { 207 | "lib/netstandard1.3/System.Threading.Thread.dll": {} 208 | } 209 | }, 210 | "System.Threading.ThreadPool/4.0.10": { 211 | "type": "package", 212 | "dependencies": { 213 | "System.Runtime": "4.1.0", 214 | "System.Runtime.Handles": "4.0.1" 215 | }, 216 | "compile": { 217 | "ref/netstandard1.3/System.Threading.ThreadPool.dll": {} 218 | }, 219 | "runtime": { 220 | "lib/netstandard1.3/System.Threading.ThreadPool.dll": {} 221 | } 222 | } 223 | } 224 | }, 225 | "libraries": { 226 | "Google.Protobuf/3.5.1": { 227 | "sha512": "f2k1VNaB9bfvEsvARzzEL1TZiIpL33KKK3JMH7UANlPlJVptuvsk4qpBZEnz0pORWZOdUHlVwMQuUzFqjJYCxA==", 228 | "type": "package", 229 | "path": "google.protobuf/3.5.1", 230 | "files": [ 231 | "google.protobuf.3.5.1.nupkg.sha512", 232 | "google.protobuf.nuspec", 233 | "lib/net45/Google.Protobuf.dll", 234 | "lib/net45/Google.Protobuf.xml", 235 | "lib/netstandard1.0/Google.Protobuf.dll", 236 | "lib/netstandard1.0/Google.Protobuf.xml" 237 | ] 238 | }, 239 | "Grpc.Core/1.11.0": { 240 | "sha512": "rGuQiruuigm9C0rEWSzSznw52a7cTZ9oUqQQzPGDmrdADpTPrRT+201AmWNzAtQqYOKOkNaObmXh9oGj+9FMzQ==", 241 | "type": "package", 242 | "path": "grpc.core/1.11.0", 243 | "files": [ 244 | "build/net45/Grpc.Core.targets", 245 | "grpc.core.1.11.0.nupkg.sha512", 246 | "grpc.core.nuspec", 247 | "lib/net45/Grpc.Core.dll", 248 | "lib/net45/Grpc.Core.pdb", 249 | "lib/net45/Grpc.Core.xml", 250 | "lib/netstandard1.5/Grpc.Core.dll", 251 | "lib/netstandard1.5/Grpc.Core.pdb", 252 | "lib/netstandard1.5/Grpc.Core.xml", 253 | "runtimes/linux/native/libgrpc_csharp_ext.x64.so", 254 | "runtimes/linux/native/libgrpc_csharp_ext.x86.so", 255 | "runtimes/osx/native/libgrpc_csharp_ext.x64.dylib", 256 | "runtimes/osx/native/libgrpc_csharp_ext.x86.dylib", 257 | "runtimes/win/native/grpc_csharp_ext.x64.dll", 258 | "runtimes/win/native/grpc_csharp_ext.x86.dll" 259 | ] 260 | }, 261 | "Microsoft.NETCore.Platforms/1.1.0": { 262 | "sha512": "kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A==", 263 | "type": "package", 264 | "path": "microsoft.netcore.platforms/1.1.0", 265 | "files": [ 266 | "ThirdPartyNotices.txt", 267 | "dotnet_library_license.txt", 268 | "lib/netstandard1.0/_._", 269 | "microsoft.netcore.platforms.1.1.0.nupkg.sha512", 270 | "microsoft.netcore.platforms.nuspec", 271 | "runtime.json" 272 | ] 273 | }, 274 | "Microsoft.NETCore.Targets/1.0.1": { 275 | "sha512": "rkn+fKobF/cbWfnnfBOQHKVKIOpxMZBvlSHkqDWgBpwGDcLRduvs3D9OLGeV6GWGvVwNlVi2CBbTjuPmtHvyNw==", 276 | "type": "package", 277 | "path": "microsoft.netcore.targets/1.0.1", 278 | "files": [ 279 | "ThirdPartyNotices.txt", 280 | "dotnet_library_license.txt", 281 | "lib/netstandard1.0/_._", 282 | "microsoft.netcore.targets.1.0.1.nupkg.sha512", 283 | "microsoft.netcore.targets.nuspec", 284 | "runtime.json" 285 | ] 286 | }, 287 | "NETStandard.Library/2.0.0": { 288 | "sha512": "7jnbRU+L08FXKMxqUflxEXtVymWvNOrS8yHgu9s6EM8Anr6T/wIX4nZ08j/u3Asz+tCufp3YVwFSEvFTPYmBPA==", 289 | "type": "package", 290 | "path": "netstandard.library/2.0.0", 291 | "files": [ 292 | "LICENSE.TXT", 293 | "THIRD-PARTY-NOTICES.TXT", 294 | "build/NETStandard.Library.targets", 295 | "build/netstandard2.0/NETStandard.Library.targets", 296 | "build/netstandard2.0/ref/Microsoft.Win32.Primitives.dll", 297 | "build/netstandard2.0/ref/System.AppContext.dll", 298 | "build/netstandard2.0/ref/System.Collections.Concurrent.dll", 299 | "build/netstandard2.0/ref/System.Collections.NonGeneric.dll", 300 | "build/netstandard2.0/ref/System.Collections.Specialized.dll", 301 | "build/netstandard2.0/ref/System.Collections.dll", 302 | "build/netstandard2.0/ref/System.ComponentModel.Composition.dll", 303 | "build/netstandard2.0/ref/System.ComponentModel.EventBasedAsync.dll", 304 | "build/netstandard2.0/ref/System.ComponentModel.Primitives.dll", 305 | "build/netstandard2.0/ref/System.ComponentModel.TypeConverter.dll", 306 | "build/netstandard2.0/ref/System.ComponentModel.dll", 307 | "build/netstandard2.0/ref/System.Console.dll", 308 | "build/netstandard2.0/ref/System.Core.dll", 309 | "build/netstandard2.0/ref/System.Data.Common.dll", 310 | "build/netstandard2.0/ref/System.Data.dll", 311 | "build/netstandard2.0/ref/System.Diagnostics.Contracts.dll", 312 | "build/netstandard2.0/ref/System.Diagnostics.Debug.dll", 313 | "build/netstandard2.0/ref/System.Diagnostics.FileVersionInfo.dll", 314 | "build/netstandard2.0/ref/System.Diagnostics.Process.dll", 315 | "build/netstandard2.0/ref/System.Diagnostics.StackTrace.dll", 316 | "build/netstandard2.0/ref/System.Diagnostics.TextWriterTraceListener.dll", 317 | "build/netstandard2.0/ref/System.Diagnostics.Tools.dll", 318 | "build/netstandard2.0/ref/System.Diagnostics.TraceSource.dll", 319 | "build/netstandard2.0/ref/System.Diagnostics.Tracing.dll", 320 | "build/netstandard2.0/ref/System.Drawing.Primitives.dll", 321 | "build/netstandard2.0/ref/System.Drawing.dll", 322 | "build/netstandard2.0/ref/System.Dynamic.Runtime.dll", 323 | "build/netstandard2.0/ref/System.Globalization.Calendars.dll", 324 | "build/netstandard2.0/ref/System.Globalization.Extensions.dll", 325 | "build/netstandard2.0/ref/System.Globalization.dll", 326 | "build/netstandard2.0/ref/System.IO.Compression.FileSystem.dll", 327 | "build/netstandard2.0/ref/System.IO.Compression.ZipFile.dll", 328 | "build/netstandard2.0/ref/System.IO.Compression.dll", 329 | "build/netstandard2.0/ref/System.IO.FileSystem.DriveInfo.dll", 330 | "build/netstandard2.0/ref/System.IO.FileSystem.Primitives.dll", 331 | "build/netstandard2.0/ref/System.IO.FileSystem.Watcher.dll", 332 | "build/netstandard2.0/ref/System.IO.FileSystem.dll", 333 | "build/netstandard2.0/ref/System.IO.IsolatedStorage.dll", 334 | "build/netstandard2.0/ref/System.IO.MemoryMappedFiles.dll", 335 | "build/netstandard2.0/ref/System.IO.Pipes.dll", 336 | "build/netstandard2.0/ref/System.IO.UnmanagedMemoryStream.dll", 337 | "build/netstandard2.0/ref/System.IO.dll", 338 | "build/netstandard2.0/ref/System.Linq.Expressions.dll", 339 | "build/netstandard2.0/ref/System.Linq.Parallel.dll", 340 | "build/netstandard2.0/ref/System.Linq.Queryable.dll", 341 | "build/netstandard2.0/ref/System.Linq.dll", 342 | "build/netstandard2.0/ref/System.Net.Http.dll", 343 | "build/netstandard2.0/ref/System.Net.NameResolution.dll", 344 | "build/netstandard2.0/ref/System.Net.NetworkInformation.dll", 345 | "build/netstandard2.0/ref/System.Net.Ping.dll", 346 | "build/netstandard2.0/ref/System.Net.Primitives.dll", 347 | "build/netstandard2.0/ref/System.Net.Requests.dll", 348 | "build/netstandard2.0/ref/System.Net.Security.dll", 349 | "build/netstandard2.0/ref/System.Net.Sockets.dll", 350 | "build/netstandard2.0/ref/System.Net.WebHeaderCollection.dll", 351 | "build/netstandard2.0/ref/System.Net.WebSockets.Client.dll", 352 | "build/netstandard2.0/ref/System.Net.WebSockets.dll", 353 | "build/netstandard2.0/ref/System.Net.dll", 354 | "build/netstandard2.0/ref/System.Numerics.dll", 355 | "build/netstandard2.0/ref/System.ObjectModel.dll", 356 | "build/netstandard2.0/ref/System.Reflection.Extensions.dll", 357 | "build/netstandard2.0/ref/System.Reflection.Primitives.dll", 358 | "build/netstandard2.0/ref/System.Reflection.dll", 359 | "build/netstandard2.0/ref/System.Resources.Reader.dll", 360 | "build/netstandard2.0/ref/System.Resources.ResourceManager.dll", 361 | "build/netstandard2.0/ref/System.Resources.Writer.dll", 362 | "build/netstandard2.0/ref/System.Runtime.CompilerServices.VisualC.dll", 363 | "build/netstandard2.0/ref/System.Runtime.Extensions.dll", 364 | "build/netstandard2.0/ref/System.Runtime.Handles.dll", 365 | "build/netstandard2.0/ref/System.Runtime.InteropServices.RuntimeInformation.dll", 366 | "build/netstandard2.0/ref/System.Runtime.InteropServices.dll", 367 | "build/netstandard2.0/ref/System.Runtime.Numerics.dll", 368 | "build/netstandard2.0/ref/System.Runtime.Serialization.Formatters.dll", 369 | "build/netstandard2.0/ref/System.Runtime.Serialization.Json.dll", 370 | "build/netstandard2.0/ref/System.Runtime.Serialization.Primitives.dll", 371 | "build/netstandard2.0/ref/System.Runtime.Serialization.Xml.dll", 372 | "build/netstandard2.0/ref/System.Runtime.Serialization.dll", 373 | "build/netstandard2.0/ref/System.Runtime.dll", 374 | "build/netstandard2.0/ref/System.Security.Claims.dll", 375 | "build/netstandard2.0/ref/System.Security.Cryptography.Algorithms.dll", 376 | "build/netstandard2.0/ref/System.Security.Cryptography.Csp.dll", 377 | "build/netstandard2.0/ref/System.Security.Cryptography.Encoding.dll", 378 | "build/netstandard2.0/ref/System.Security.Cryptography.Primitives.dll", 379 | "build/netstandard2.0/ref/System.Security.Cryptography.X509Certificates.dll", 380 | "build/netstandard2.0/ref/System.Security.Principal.dll", 381 | "build/netstandard2.0/ref/System.Security.SecureString.dll", 382 | "build/netstandard2.0/ref/System.ServiceModel.Web.dll", 383 | "build/netstandard2.0/ref/System.Text.Encoding.Extensions.dll", 384 | "build/netstandard2.0/ref/System.Text.Encoding.dll", 385 | "build/netstandard2.0/ref/System.Text.RegularExpressions.dll", 386 | "build/netstandard2.0/ref/System.Threading.Overlapped.dll", 387 | "build/netstandard2.0/ref/System.Threading.Tasks.Parallel.dll", 388 | "build/netstandard2.0/ref/System.Threading.Tasks.dll", 389 | "build/netstandard2.0/ref/System.Threading.Thread.dll", 390 | "build/netstandard2.0/ref/System.Threading.ThreadPool.dll", 391 | "build/netstandard2.0/ref/System.Threading.Timer.dll", 392 | "build/netstandard2.0/ref/System.Threading.dll", 393 | "build/netstandard2.0/ref/System.Transactions.dll", 394 | "build/netstandard2.0/ref/System.ValueTuple.dll", 395 | "build/netstandard2.0/ref/System.Web.dll", 396 | "build/netstandard2.0/ref/System.Windows.dll", 397 | "build/netstandard2.0/ref/System.Xml.Linq.dll", 398 | "build/netstandard2.0/ref/System.Xml.ReaderWriter.dll", 399 | "build/netstandard2.0/ref/System.Xml.Serialization.dll", 400 | "build/netstandard2.0/ref/System.Xml.XDocument.dll", 401 | "build/netstandard2.0/ref/System.Xml.XPath.XDocument.dll", 402 | "build/netstandard2.0/ref/System.Xml.XPath.dll", 403 | "build/netstandard2.0/ref/System.Xml.XmlDocument.dll", 404 | "build/netstandard2.0/ref/System.Xml.XmlSerializer.dll", 405 | "build/netstandard2.0/ref/System.Xml.dll", 406 | "build/netstandard2.0/ref/System.dll", 407 | "build/netstandard2.0/ref/mscorlib.dll", 408 | "build/netstandard2.0/ref/netstandard.dll", 409 | "build/netstandard2.0/ref/netstandard.xml", 410 | "lib/netstandard1.0/_._", 411 | "netstandard.library.2.0.0.nupkg.sha512", 412 | "netstandard.library.nuspec" 413 | ] 414 | }, 415 | "System.Interactive.Async/3.1.1": { 416 | "sha512": "hZccYiIE5RS1/J9Tb/BNtosAGVggdlsJm4Ojdu+gDV0p4AIi+LUfUogMKkRacljQEJd2AG6vYzvcjhQFkqoZmw==", 417 | "type": "package", 418 | "path": "system.interactive.async/3.1.1", 419 | "files": [ 420 | "lib/net45/System.Interactive.Async.dll", 421 | "lib/net45/System.Interactive.Async.xml", 422 | "lib/net46/System.Interactive.Async.dll", 423 | "lib/net46/System.Interactive.Async.xml", 424 | "lib/netstandard1.0/System.Interactive.Async.dll", 425 | "lib/netstandard1.0/System.Interactive.Async.xml", 426 | "lib/netstandard1.3/System.Interactive.Async.dll", 427 | "lib/netstandard1.3/System.Interactive.Async.xml", 428 | "system.interactive.async.3.1.1.nupkg.sha512", 429 | "system.interactive.async.nuspec" 430 | ] 431 | }, 432 | "System.IO/4.1.0": { 433 | "sha512": "3KlTJceQc3gnGIaHZ7UBZO26SHL1SHE4ddrmiwumFnId+CEHP+O8r386tZKaE6zlk5/mF8vifMBzHj9SaXN+mQ==", 434 | "type": "package", 435 | "path": "system.io/4.1.0", 436 | "files": [ 437 | "ThirdPartyNotices.txt", 438 | "dotnet_library_license.txt", 439 | "lib/MonoAndroid10/_._", 440 | "lib/MonoTouch10/_._", 441 | "lib/net45/_._", 442 | "lib/net462/System.IO.dll", 443 | "lib/portable-net45+win8+wp8+wpa81/_._", 444 | "lib/win8/_._", 445 | "lib/wp80/_._", 446 | "lib/wpa81/_._", 447 | "lib/xamarinios10/_._", 448 | "lib/xamarinmac20/_._", 449 | "lib/xamarintvos10/_._", 450 | "lib/xamarinwatchos10/_._", 451 | "ref/MonoAndroid10/_._", 452 | "ref/MonoTouch10/_._", 453 | "ref/net45/_._", 454 | "ref/net462/System.IO.dll", 455 | "ref/netcore50/System.IO.dll", 456 | "ref/netcore50/System.IO.xml", 457 | "ref/netcore50/de/System.IO.xml", 458 | "ref/netcore50/es/System.IO.xml", 459 | "ref/netcore50/fr/System.IO.xml", 460 | "ref/netcore50/it/System.IO.xml", 461 | "ref/netcore50/ja/System.IO.xml", 462 | "ref/netcore50/ko/System.IO.xml", 463 | "ref/netcore50/ru/System.IO.xml", 464 | "ref/netcore50/zh-hans/System.IO.xml", 465 | "ref/netcore50/zh-hant/System.IO.xml", 466 | "ref/netstandard1.0/System.IO.dll", 467 | "ref/netstandard1.0/System.IO.xml", 468 | "ref/netstandard1.0/de/System.IO.xml", 469 | "ref/netstandard1.0/es/System.IO.xml", 470 | "ref/netstandard1.0/fr/System.IO.xml", 471 | "ref/netstandard1.0/it/System.IO.xml", 472 | "ref/netstandard1.0/ja/System.IO.xml", 473 | "ref/netstandard1.0/ko/System.IO.xml", 474 | "ref/netstandard1.0/ru/System.IO.xml", 475 | "ref/netstandard1.0/zh-hans/System.IO.xml", 476 | "ref/netstandard1.0/zh-hant/System.IO.xml", 477 | "ref/netstandard1.3/System.IO.dll", 478 | "ref/netstandard1.3/System.IO.xml", 479 | "ref/netstandard1.3/de/System.IO.xml", 480 | "ref/netstandard1.3/es/System.IO.xml", 481 | "ref/netstandard1.3/fr/System.IO.xml", 482 | "ref/netstandard1.3/it/System.IO.xml", 483 | "ref/netstandard1.3/ja/System.IO.xml", 484 | "ref/netstandard1.3/ko/System.IO.xml", 485 | "ref/netstandard1.3/ru/System.IO.xml", 486 | "ref/netstandard1.3/zh-hans/System.IO.xml", 487 | "ref/netstandard1.3/zh-hant/System.IO.xml", 488 | "ref/netstandard1.5/System.IO.dll", 489 | "ref/netstandard1.5/System.IO.xml", 490 | "ref/netstandard1.5/de/System.IO.xml", 491 | "ref/netstandard1.5/es/System.IO.xml", 492 | "ref/netstandard1.5/fr/System.IO.xml", 493 | "ref/netstandard1.5/it/System.IO.xml", 494 | "ref/netstandard1.5/ja/System.IO.xml", 495 | "ref/netstandard1.5/ko/System.IO.xml", 496 | "ref/netstandard1.5/ru/System.IO.xml", 497 | "ref/netstandard1.5/zh-hans/System.IO.xml", 498 | "ref/netstandard1.5/zh-hant/System.IO.xml", 499 | "ref/portable-net45+win8+wp8+wpa81/_._", 500 | "ref/win8/_._", 501 | "ref/wp80/_._", 502 | "ref/wpa81/_._", 503 | "ref/xamarinios10/_._", 504 | "ref/xamarinmac20/_._", 505 | "ref/xamarintvos10/_._", 506 | "ref/xamarinwatchos10/_._", 507 | "system.io.4.1.0.nupkg.sha512", 508 | "system.io.nuspec" 509 | ] 510 | }, 511 | "System.Reflection/4.1.0": { 512 | "sha512": "JCKANJ0TI7kzoQzuwB/OoJANy1Lg338B6+JVacPl4TpUwi3cReg3nMLplMq2uqYfHFQpKIlHAUVAJlImZz/4ng==", 513 | "type": "package", 514 | "path": "system.reflection/4.1.0", 515 | "files": [ 516 | "ThirdPartyNotices.txt", 517 | "dotnet_library_license.txt", 518 | "lib/MonoAndroid10/_._", 519 | "lib/MonoTouch10/_._", 520 | "lib/net45/_._", 521 | "lib/net462/System.Reflection.dll", 522 | "lib/portable-net45+win8+wp8+wpa81/_._", 523 | "lib/win8/_._", 524 | "lib/wp80/_._", 525 | "lib/wpa81/_._", 526 | "lib/xamarinios10/_._", 527 | "lib/xamarinmac20/_._", 528 | "lib/xamarintvos10/_._", 529 | "lib/xamarinwatchos10/_._", 530 | "ref/MonoAndroid10/_._", 531 | "ref/MonoTouch10/_._", 532 | "ref/net45/_._", 533 | "ref/net462/System.Reflection.dll", 534 | "ref/netcore50/System.Reflection.dll", 535 | "ref/netcore50/System.Reflection.xml", 536 | "ref/netcore50/de/System.Reflection.xml", 537 | "ref/netcore50/es/System.Reflection.xml", 538 | "ref/netcore50/fr/System.Reflection.xml", 539 | "ref/netcore50/it/System.Reflection.xml", 540 | "ref/netcore50/ja/System.Reflection.xml", 541 | "ref/netcore50/ko/System.Reflection.xml", 542 | "ref/netcore50/ru/System.Reflection.xml", 543 | "ref/netcore50/zh-hans/System.Reflection.xml", 544 | "ref/netcore50/zh-hant/System.Reflection.xml", 545 | "ref/netstandard1.0/System.Reflection.dll", 546 | "ref/netstandard1.0/System.Reflection.xml", 547 | "ref/netstandard1.0/de/System.Reflection.xml", 548 | "ref/netstandard1.0/es/System.Reflection.xml", 549 | "ref/netstandard1.0/fr/System.Reflection.xml", 550 | "ref/netstandard1.0/it/System.Reflection.xml", 551 | "ref/netstandard1.0/ja/System.Reflection.xml", 552 | "ref/netstandard1.0/ko/System.Reflection.xml", 553 | "ref/netstandard1.0/ru/System.Reflection.xml", 554 | "ref/netstandard1.0/zh-hans/System.Reflection.xml", 555 | "ref/netstandard1.0/zh-hant/System.Reflection.xml", 556 | "ref/netstandard1.3/System.Reflection.dll", 557 | "ref/netstandard1.3/System.Reflection.xml", 558 | "ref/netstandard1.3/de/System.Reflection.xml", 559 | "ref/netstandard1.3/es/System.Reflection.xml", 560 | "ref/netstandard1.3/fr/System.Reflection.xml", 561 | "ref/netstandard1.3/it/System.Reflection.xml", 562 | "ref/netstandard1.3/ja/System.Reflection.xml", 563 | "ref/netstandard1.3/ko/System.Reflection.xml", 564 | "ref/netstandard1.3/ru/System.Reflection.xml", 565 | "ref/netstandard1.3/zh-hans/System.Reflection.xml", 566 | "ref/netstandard1.3/zh-hant/System.Reflection.xml", 567 | "ref/netstandard1.5/System.Reflection.dll", 568 | "ref/netstandard1.5/System.Reflection.xml", 569 | "ref/netstandard1.5/de/System.Reflection.xml", 570 | "ref/netstandard1.5/es/System.Reflection.xml", 571 | "ref/netstandard1.5/fr/System.Reflection.xml", 572 | "ref/netstandard1.5/it/System.Reflection.xml", 573 | "ref/netstandard1.5/ja/System.Reflection.xml", 574 | "ref/netstandard1.5/ko/System.Reflection.xml", 575 | "ref/netstandard1.5/ru/System.Reflection.xml", 576 | "ref/netstandard1.5/zh-hans/System.Reflection.xml", 577 | "ref/netstandard1.5/zh-hant/System.Reflection.xml", 578 | "ref/portable-net45+win8+wp8+wpa81/_._", 579 | "ref/win8/_._", 580 | "ref/wp80/_._", 581 | "ref/wpa81/_._", 582 | "ref/xamarinios10/_._", 583 | "ref/xamarinmac20/_._", 584 | "ref/xamarintvos10/_._", 585 | "ref/xamarinwatchos10/_._", 586 | "system.reflection.4.1.0.nupkg.sha512", 587 | "system.reflection.nuspec" 588 | ] 589 | }, 590 | "System.Reflection.Primitives/4.0.1": { 591 | "sha512": "4inTox4wTBaDhB7V3mPvp9XlCbeGYWVEM9/fXALd52vNEAVisc1BoVWQPuUuD0Ga//dNbA/WeMy9u9mzLxGTHQ==", 592 | "type": "package", 593 | "path": "system.reflection.primitives/4.0.1", 594 | "files": [ 595 | "ThirdPartyNotices.txt", 596 | "dotnet_library_license.txt", 597 | "lib/MonoAndroid10/_._", 598 | "lib/MonoTouch10/_._", 599 | "lib/net45/_._", 600 | "lib/portable-net45+win8+wp8+wpa81/_._", 601 | "lib/win8/_._", 602 | "lib/wp80/_._", 603 | "lib/wpa81/_._", 604 | "lib/xamarinios10/_._", 605 | "lib/xamarinmac20/_._", 606 | "lib/xamarintvos10/_._", 607 | "lib/xamarinwatchos10/_._", 608 | "ref/MonoAndroid10/_._", 609 | "ref/MonoTouch10/_._", 610 | "ref/net45/_._", 611 | "ref/netcore50/System.Reflection.Primitives.dll", 612 | "ref/netcore50/System.Reflection.Primitives.xml", 613 | "ref/netcore50/de/System.Reflection.Primitives.xml", 614 | "ref/netcore50/es/System.Reflection.Primitives.xml", 615 | "ref/netcore50/fr/System.Reflection.Primitives.xml", 616 | "ref/netcore50/it/System.Reflection.Primitives.xml", 617 | "ref/netcore50/ja/System.Reflection.Primitives.xml", 618 | "ref/netcore50/ko/System.Reflection.Primitives.xml", 619 | "ref/netcore50/ru/System.Reflection.Primitives.xml", 620 | "ref/netcore50/zh-hans/System.Reflection.Primitives.xml", 621 | "ref/netcore50/zh-hant/System.Reflection.Primitives.xml", 622 | "ref/netstandard1.0/System.Reflection.Primitives.dll", 623 | "ref/netstandard1.0/System.Reflection.Primitives.xml", 624 | "ref/netstandard1.0/de/System.Reflection.Primitives.xml", 625 | "ref/netstandard1.0/es/System.Reflection.Primitives.xml", 626 | "ref/netstandard1.0/fr/System.Reflection.Primitives.xml", 627 | "ref/netstandard1.0/it/System.Reflection.Primitives.xml", 628 | "ref/netstandard1.0/ja/System.Reflection.Primitives.xml", 629 | "ref/netstandard1.0/ko/System.Reflection.Primitives.xml", 630 | "ref/netstandard1.0/ru/System.Reflection.Primitives.xml", 631 | "ref/netstandard1.0/zh-hans/System.Reflection.Primitives.xml", 632 | "ref/netstandard1.0/zh-hant/System.Reflection.Primitives.xml", 633 | "ref/portable-net45+win8+wp8+wpa81/_._", 634 | "ref/win8/_._", 635 | "ref/wp80/_._", 636 | "ref/wpa81/_._", 637 | "ref/xamarinios10/_._", 638 | "ref/xamarinmac20/_._", 639 | "ref/xamarintvos10/_._", 640 | "ref/xamarinwatchos10/_._", 641 | "system.reflection.primitives.4.0.1.nupkg.sha512", 642 | "system.reflection.primitives.nuspec" 643 | ] 644 | }, 645 | "System.Runtime/4.1.0": { 646 | "sha512": "v6c/4Yaa9uWsq+JMhnOFewrYkgdNHNG2eMKuNqRn8P733rNXeRCGvV5FkkjBXn2dbVkPXOsO0xjsEeM1q2zC0g==", 647 | "type": "package", 648 | "path": "system.runtime/4.1.0", 649 | "files": [ 650 | "ThirdPartyNotices.txt", 651 | "dotnet_library_license.txt", 652 | "lib/MonoAndroid10/_._", 653 | "lib/MonoTouch10/_._", 654 | "lib/net45/_._", 655 | "lib/net462/System.Runtime.dll", 656 | "lib/portable-net45+win8+wp80+wpa81/_._", 657 | "lib/win8/_._", 658 | "lib/wp80/_._", 659 | "lib/wpa81/_._", 660 | "lib/xamarinios10/_._", 661 | "lib/xamarinmac20/_._", 662 | "lib/xamarintvos10/_._", 663 | "lib/xamarinwatchos10/_._", 664 | "ref/MonoAndroid10/_._", 665 | "ref/MonoTouch10/_._", 666 | "ref/net45/_._", 667 | "ref/net462/System.Runtime.dll", 668 | "ref/netcore50/System.Runtime.dll", 669 | "ref/netcore50/System.Runtime.xml", 670 | "ref/netcore50/de/System.Runtime.xml", 671 | "ref/netcore50/es/System.Runtime.xml", 672 | "ref/netcore50/fr/System.Runtime.xml", 673 | "ref/netcore50/it/System.Runtime.xml", 674 | "ref/netcore50/ja/System.Runtime.xml", 675 | "ref/netcore50/ko/System.Runtime.xml", 676 | "ref/netcore50/ru/System.Runtime.xml", 677 | "ref/netcore50/zh-hans/System.Runtime.xml", 678 | "ref/netcore50/zh-hant/System.Runtime.xml", 679 | "ref/netstandard1.0/System.Runtime.dll", 680 | "ref/netstandard1.0/System.Runtime.xml", 681 | "ref/netstandard1.0/de/System.Runtime.xml", 682 | "ref/netstandard1.0/es/System.Runtime.xml", 683 | "ref/netstandard1.0/fr/System.Runtime.xml", 684 | "ref/netstandard1.0/it/System.Runtime.xml", 685 | "ref/netstandard1.0/ja/System.Runtime.xml", 686 | "ref/netstandard1.0/ko/System.Runtime.xml", 687 | "ref/netstandard1.0/ru/System.Runtime.xml", 688 | "ref/netstandard1.0/zh-hans/System.Runtime.xml", 689 | "ref/netstandard1.0/zh-hant/System.Runtime.xml", 690 | "ref/netstandard1.2/System.Runtime.dll", 691 | "ref/netstandard1.2/System.Runtime.xml", 692 | "ref/netstandard1.2/de/System.Runtime.xml", 693 | "ref/netstandard1.2/es/System.Runtime.xml", 694 | "ref/netstandard1.2/fr/System.Runtime.xml", 695 | "ref/netstandard1.2/it/System.Runtime.xml", 696 | "ref/netstandard1.2/ja/System.Runtime.xml", 697 | "ref/netstandard1.2/ko/System.Runtime.xml", 698 | "ref/netstandard1.2/ru/System.Runtime.xml", 699 | "ref/netstandard1.2/zh-hans/System.Runtime.xml", 700 | "ref/netstandard1.2/zh-hant/System.Runtime.xml", 701 | "ref/netstandard1.3/System.Runtime.dll", 702 | "ref/netstandard1.3/System.Runtime.xml", 703 | "ref/netstandard1.3/de/System.Runtime.xml", 704 | "ref/netstandard1.3/es/System.Runtime.xml", 705 | "ref/netstandard1.3/fr/System.Runtime.xml", 706 | "ref/netstandard1.3/it/System.Runtime.xml", 707 | "ref/netstandard1.3/ja/System.Runtime.xml", 708 | "ref/netstandard1.3/ko/System.Runtime.xml", 709 | "ref/netstandard1.3/ru/System.Runtime.xml", 710 | "ref/netstandard1.3/zh-hans/System.Runtime.xml", 711 | "ref/netstandard1.3/zh-hant/System.Runtime.xml", 712 | "ref/netstandard1.5/System.Runtime.dll", 713 | "ref/netstandard1.5/System.Runtime.xml", 714 | "ref/netstandard1.5/de/System.Runtime.xml", 715 | "ref/netstandard1.5/es/System.Runtime.xml", 716 | "ref/netstandard1.5/fr/System.Runtime.xml", 717 | "ref/netstandard1.5/it/System.Runtime.xml", 718 | "ref/netstandard1.5/ja/System.Runtime.xml", 719 | "ref/netstandard1.5/ko/System.Runtime.xml", 720 | "ref/netstandard1.5/ru/System.Runtime.xml", 721 | "ref/netstandard1.5/zh-hans/System.Runtime.xml", 722 | "ref/netstandard1.5/zh-hant/System.Runtime.xml", 723 | "ref/portable-net45+win8+wp80+wpa81/_._", 724 | "ref/win8/_._", 725 | "ref/wp80/_._", 726 | "ref/wpa81/_._", 727 | "ref/xamarinios10/_._", 728 | "ref/xamarinmac20/_._", 729 | "ref/xamarintvos10/_._", 730 | "ref/xamarinwatchos10/_._", 731 | "system.runtime.4.1.0.nupkg.sha512", 732 | "system.runtime.nuspec" 733 | ] 734 | }, 735 | "System.Runtime.Handles/4.0.1": { 736 | "sha512": "nCJvEKguXEvk2ymk1gqj625vVnlK3/xdGzx0vOKicQkoquaTBJTP13AIYkocSUwHCLNBwUbXTqTWGDxBTWpt7g==", 737 | "type": "package", 738 | "path": "system.runtime.handles/4.0.1", 739 | "files": [ 740 | "ThirdPartyNotices.txt", 741 | "dotnet_library_license.txt", 742 | "lib/MonoAndroid10/_._", 743 | "lib/MonoTouch10/_._", 744 | "lib/net46/_._", 745 | "lib/xamarinios10/_._", 746 | "lib/xamarinmac20/_._", 747 | "lib/xamarintvos10/_._", 748 | "lib/xamarinwatchos10/_._", 749 | "ref/MonoAndroid10/_._", 750 | "ref/MonoTouch10/_._", 751 | "ref/net46/_._", 752 | "ref/netstandard1.3/System.Runtime.Handles.dll", 753 | "ref/netstandard1.3/System.Runtime.Handles.xml", 754 | "ref/netstandard1.3/de/System.Runtime.Handles.xml", 755 | "ref/netstandard1.3/es/System.Runtime.Handles.xml", 756 | "ref/netstandard1.3/fr/System.Runtime.Handles.xml", 757 | "ref/netstandard1.3/it/System.Runtime.Handles.xml", 758 | "ref/netstandard1.3/ja/System.Runtime.Handles.xml", 759 | "ref/netstandard1.3/ko/System.Runtime.Handles.xml", 760 | "ref/netstandard1.3/ru/System.Runtime.Handles.xml", 761 | "ref/netstandard1.3/zh-hans/System.Runtime.Handles.xml", 762 | "ref/netstandard1.3/zh-hant/System.Runtime.Handles.xml", 763 | "ref/xamarinios10/_._", 764 | "ref/xamarinmac20/_._", 765 | "ref/xamarintvos10/_._", 766 | "ref/xamarinwatchos10/_._", 767 | "system.runtime.handles.4.0.1.nupkg.sha512", 768 | "system.runtime.handles.nuspec" 769 | ] 770 | }, 771 | "System.Runtime.Loader/4.0.0": { 772 | "sha512": "4UN78GOVU/mbDFcXkEWtetJT/sJ0yic2gGk1HSlSpWI0TDf421xnrZTDZnwNBapk1GQeYN7U1lTj/aQB1by6ow==", 773 | "type": "package", 774 | "path": "system.runtime.loader/4.0.0", 775 | "files": [ 776 | "ThirdPartyNotices.txt", 777 | "dotnet_library_license.txt", 778 | "lib/net462/_._", 779 | "lib/netstandard1.5/System.Runtime.Loader.dll", 780 | "ref/netstandard1.5/System.Runtime.Loader.dll", 781 | "ref/netstandard1.5/System.Runtime.Loader.xml", 782 | "ref/netstandard1.5/de/System.Runtime.Loader.xml", 783 | "ref/netstandard1.5/es/System.Runtime.Loader.xml", 784 | "ref/netstandard1.5/fr/System.Runtime.Loader.xml", 785 | "ref/netstandard1.5/it/System.Runtime.Loader.xml", 786 | "ref/netstandard1.5/ja/System.Runtime.Loader.xml", 787 | "ref/netstandard1.5/ko/System.Runtime.Loader.xml", 788 | "ref/netstandard1.5/ru/System.Runtime.Loader.xml", 789 | "ref/netstandard1.5/zh-hans/System.Runtime.Loader.xml", 790 | "ref/netstandard1.5/zh-hant/System.Runtime.Loader.xml", 791 | "system.runtime.loader.4.0.0.nupkg.sha512", 792 | "system.runtime.loader.nuspec" 793 | ] 794 | }, 795 | "System.Text.Encoding/4.0.11": { 796 | "sha512": "U3gGeMlDZXxCEiY4DwVLSacg+DFWCvoiX+JThA/rvw37Sqrku7sEFeVBBBMBnfB6FeZHsyDx85HlKL19x0HtZA==", 797 | "type": "package", 798 | "path": "system.text.encoding/4.0.11", 799 | "files": [ 800 | "ThirdPartyNotices.txt", 801 | "dotnet_library_license.txt", 802 | "lib/MonoAndroid10/_._", 803 | "lib/MonoTouch10/_._", 804 | "lib/net45/_._", 805 | "lib/portable-net45+win8+wp8+wpa81/_._", 806 | "lib/win8/_._", 807 | "lib/wp80/_._", 808 | "lib/wpa81/_._", 809 | "lib/xamarinios10/_._", 810 | "lib/xamarinmac20/_._", 811 | "lib/xamarintvos10/_._", 812 | "lib/xamarinwatchos10/_._", 813 | "ref/MonoAndroid10/_._", 814 | "ref/MonoTouch10/_._", 815 | "ref/net45/_._", 816 | "ref/netcore50/System.Text.Encoding.dll", 817 | "ref/netcore50/System.Text.Encoding.xml", 818 | "ref/netcore50/de/System.Text.Encoding.xml", 819 | "ref/netcore50/es/System.Text.Encoding.xml", 820 | "ref/netcore50/fr/System.Text.Encoding.xml", 821 | "ref/netcore50/it/System.Text.Encoding.xml", 822 | "ref/netcore50/ja/System.Text.Encoding.xml", 823 | "ref/netcore50/ko/System.Text.Encoding.xml", 824 | "ref/netcore50/ru/System.Text.Encoding.xml", 825 | "ref/netcore50/zh-hans/System.Text.Encoding.xml", 826 | "ref/netcore50/zh-hant/System.Text.Encoding.xml", 827 | "ref/netstandard1.0/System.Text.Encoding.dll", 828 | "ref/netstandard1.0/System.Text.Encoding.xml", 829 | "ref/netstandard1.0/de/System.Text.Encoding.xml", 830 | "ref/netstandard1.0/es/System.Text.Encoding.xml", 831 | "ref/netstandard1.0/fr/System.Text.Encoding.xml", 832 | "ref/netstandard1.0/it/System.Text.Encoding.xml", 833 | "ref/netstandard1.0/ja/System.Text.Encoding.xml", 834 | "ref/netstandard1.0/ko/System.Text.Encoding.xml", 835 | "ref/netstandard1.0/ru/System.Text.Encoding.xml", 836 | "ref/netstandard1.0/zh-hans/System.Text.Encoding.xml", 837 | "ref/netstandard1.0/zh-hant/System.Text.Encoding.xml", 838 | "ref/netstandard1.3/System.Text.Encoding.dll", 839 | "ref/netstandard1.3/System.Text.Encoding.xml", 840 | "ref/netstandard1.3/de/System.Text.Encoding.xml", 841 | "ref/netstandard1.3/es/System.Text.Encoding.xml", 842 | "ref/netstandard1.3/fr/System.Text.Encoding.xml", 843 | "ref/netstandard1.3/it/System.Text.Encoding.xml", 844 | "ref/netstandard1.3/ja/System.Text.Encoding.xml", 845 | "ref/netstandard1.3/ko/System.Text.Encoding.xml", 846 | "ref/netstandard1.3/ru/System.Text.Encoding.xml", 847 | "ref/netstandard1.3/zh-hans/System.Text.Encoding.xml", 848 | "ref/netstandard1.3/zh-hant/System.Text.Encoding.xml", 849 | "ref/portable-net45+win8+wp8+wpa81/_._", 850 | "ref/win8/_._", 851 | "ref/wp80/_._", 852 | "ref/wpa81/_._", 853 | "ref/xamarinios10/_._", 854 | "ref/xamarinmac20/_._", 855 | "ref/xamarintvos10/_._", 856 | "ref/xamarinwatchos10/_._", 857 | "system.text.encoding.4.0.11.nupkg.sha512", 858 | "system.text.encoding.nuspec" 859 | ] 860 | }, 861 | "System.Threading.Tasks/4.0.11": { 862 | "sha512": "k1S4Gc6IGwtHGT8188RSeGaX86Qw/wnrgNLshJvsdNUOPP9etMmo8S07c+UlOAx4K/xLuN9ivA1bD0LVurtIxQ==", 863 | "type": "package", 864 | "path": "system.threading.tasks/4.0.11", 865 | "files": [ 866 | "ThirdPartyNotices.txt", 867 | "dotnet_library_license.txt", 868 | "lib/MonoAndroid10/_._", 869 | "lib/MonoTouch10/_._", 870 | "lib/net45/_._", 871 | "lib/portable-net45+win8+wp8+wpa81/_._", 872 | "lib/win8/_._", 873 | "lib/wp80/_._", 874 | "lib/wpa81/_._", 875 | "lib/xamarinios10/_._", 876 | "lib/xamarinmac20/_._", 877 | "lib/xamarintvos10/_._", 878 | "lib/xamarinwatchos10/_._", 879 | "ref/MonoAndroid10/_._", 880 | "ref/MonoTouch10/_._", 881 | "ref/net45/_._", 882 | "ref/netcore50/System.Threading.Tasks.dll", 883 | "ref/netcore50/System.Threading.Tasks.xml", 884 | "ref/netcore50/de/System.Threading.Tasks.xml", 885 | "ref/netcore50/es/System.Threading.Tasks.xml", 886 | "ref/netcore50/fr/System.Threading.Tasks.xml", 887 | "ref/netcore50/it/System.Threading.Tasks.xml", 888 | "ref/netcore50/ja/System.Threading.Tasks.xml", 889 | "ref/netcore50/ko/System.Threading.Tasks.xml", 890 | "ref/netcore50/ru/System.Threading.Tasks.xml", 891 | "ref/netcore50/zh-hans/System.Threading.Tasks.xml", 892 | "ref/netcore50/zh-hant/System.Threading.Tasks.xml", 893 | "ref/netstandard1.0/System.Threading.Tasks.dll", 894 | "ref/netstandard1.0/System.Threading.Tasks.xml", 895 | "ref/netstandard1.0/de/System.Threading.Tasks.xml", 896 | "ref/netstandard1.0/es/System.Threading.Tasks.xml", 897 | "ref/netstandard1.0/fr/System.Threading.Tasks.xml", 898 | "ref/netstandard1.0/it/System.Threading.Tasks.xml", 899 | "ref/netstandard1.0/ja/System.Threading.Tasks.xml", 900 | "ref/netstandard1.0/ko/System.Threading.Tasks.xml", 901 | "ref/netstandard1.0/ru/System.Threading.Tasks.xml", 902 | "ref/netstandard1.0/zh-hans/System.Threading.Tasks.xml", 903 | "ref/netstandard1.0/zh-hant/System.Threading.Tasks.xml", 904 | "ref/netstandard1.3/System.Threading.Tasks.dll", 905 | "ref/netstandard1.3/System.Threading.Tasks.xml", 906 | "ref/netstandard1.3/de/System.Threading.Tasks.xml", 907 | "ref/netstandard1.3/es/System.Threading.Tasks.xml", 908 | "ref/netstandard1.3/fr/System.Threading.Tasks.xml", 909 | "ref/netstandard1.3/it/System.Threading.Tasks.xml", 910 | "ref/netstandard1.3/ja/System.Threading.Tasks.xml", 911 | "ref/netstandard1.3/ko/System.Threading.Tasks.xml", 912 | "ref/netstandard1.3/ru/System.Threading.Tasks.xml", 913 | "ref/netstandard1.3/zh-hans/System.Threading.Tasks.xml", 914 | "ref/netstandard1.3/zh-hant/System.Threading.Tasks.xml", 915 | "ref/portable-net45+win8+wp8+wpa81/_._", 916 | "ref/win8/_._", 917 | "ref/wp80/_._", 918 | "ref/wpa81/_._", 919 | "ref/xamarinios10/_._", 920 | "ref/xamarinmac20/_._", 921 | "ref/xamarintvos10/_._", 922 | "ref/xamarinwatchos10/_._", 923 | "system.threading.tasks.4.0.11.nupkg.sha512", 924 | "system.threading.tasks.nuspec" 925 | ] 926 | }, 927 | "System.Threading.Thread/4.0.0": { 928 | "sha512": "gIdJqDXlOr5W9zeqFErLw3dsOsiShSCYtF9SEHitACycmvNvY8odf9kiKvp6V7aibc8C4HzzNBkWXjyfn7plbQ==", 929 | "type": "package", 930 | "path": "system.threading.thread/4.0.0", 931 | "files": [ 932 | "ThirdPartyNotices.txt", 933 | "dotnet_library_license.txt", 934 | "lib/MonoAndroid10/_._", 935 | "lib/MonoTouch10/_._", 936 | "lib/net46/System.Threading.Thread.dll", 937 | "lib/netcore50/_._", 938 | "lib/netstandard1.3/System.Threading.Thread.dll", 939 | "lib/xamarinios10/_._", 940 | "lib/xamarinmac20/_._", 941 | "lib/xamarintvos10/_._", 942 | "lib/xamarinwatchos10/_._", 943 | "ref/MonoAndroid10/_._", 944 | "ref/MonoTouch10/_._", 945 | "ref/net46/System.Threading.Thread.dll", 946 | "ref/netstandard1.3/System.Threading.Thread.dll", 947 | "ref/netstandard1.3/System.Threading.Thread.xml", 948 | "ref/netstandard1.3/de/System.Threading.Thread.xml", 949 | "ref/netstandard1.3/es/System.Threading.Thread.xml", 950 | "ref/netstandard1.3/fr/System.Threading.Thread.xml", 951 | "ref/netstandard1.3/it/System.Threading.Thread.xml", 952 | "ref/netstandard1.3/ja/System.Threading.Thread.xml", 953 | "ref/netstandard1.3/ko/System.Threading.Thread.xml", 954 | "ref/netstandard1.3/ru/System.Threading.Thread.xml", 955 | "ref/netstandard1.3/zh-hans/System.Threading.Thread.xml", 956 | "ref/netstandard1.3/zh-hant/System.Threading.Thread.xml", 957 | "ref/xamarinios10/_._", 958 | "ref/xamarinmac20/_._", 959 | "ref/xamarintvos10/_._", 960 | "ref/xamarinwatchos10/_._", 961 | "system.threading.thread.4.0.0.nupkg.sha512", 962 | "system.threading.thread.nuspec" 963 | ] 964 | }, 965 | "System.Threading.ThreadPool/4.0.10": { 966 | "sha512": "IMXgB5Vf/5Qw1kpoVgJMOvUO1l32aC+qC3OaIZjWJOjvcxuxNWOK2ZTWWYXfij22NHxT2j1yWX5vlAeQWld9vA==", 967 | "type": "package", 968 | "path": "system.threading.threadpool/4.0.10", 969 | "files": [ 970 | "ThirdPartyNotices.txt", 971 | "dotnet_library_license.txt", 972 | "lib/MonoAndroid10/_._", 973 | "lib/MonoTouch10/_._", 974 | "lib/net46/System.Threading.ThreadPool.dll", 975 | "lib/netcore50/_._", 976 | "lib/netstandard1.3/System.Threading.ThreadPool.dll", 977 | "lib/xamarinios10/_._", 978 | "lib/xamarinmac20/_._", 979 | "lib/xamarintvos10/_._", 980 | "lib/xamarinwatchos10/_._", 981 | "ref/MonoAndroid10/_._", 982 | "ref/MonoTouch10/_._", 983 | "ref/net46/System.Threading.ThreadPool.dll", 984 | "ref/netstandard1.3/System.Threading.ThreadPool.dll", 985 | "ref/netstandard1.3/System.Threading.ThreadPool.xml", 986 | "ref/netstandard1.3/de/System.Threading.ThreadPool.xml", 987 | "ref/netstandard1.3/es/System.Threading.ThreadPool.xml", 988 | "ref/netstandard1.3/fr/System.Threading.ThreadPool.xml", 989 | "ref/netstandard1.3/it/System.Threading.ThreadPool.xml", 990 | "ref/netstandard1.3/ja/System.Threading.ThreadPool.xml", 991 | "ref/netstandard1.3/ko/System.Threading.ThreadPool.xml", 992 | "ref/netstandard1.3/ru/System.Threading.ThreadPool.xml", 993 | "ref/netstandard1.3/zh-hans/System.Threading.ThreadPool.xml", 994 | "ref/netstandard1.3/zh-hant/System.Threading.ThreadPool.xml", 995 | "ref/xamarinios10/_._", 996 | "ref/xamarinmac20/_._", 997 | "ref/xamarintvos10/_._", 998 | "ref/xamarinwatchos10/_._", 999 | "system.threading.threadpool.4.0.10.nupkg.sha512", 1000 | "system.threading.threadpool.nuspec" 1001 | ] 1002 | } 1003 | }, 1004 | "projectFileDependencyGroups": { 1005 | ".NETStandard,Version=v2.0": [ 1006 | "Google.Protobuf >= 3.5.1", 1007 | "Grpc.Core >= 1.11.0", 1008 | "NETStandard.Library >= 2.0.0" 1009 | ] 1010 | }, 1011 | "packageFolders": { 1012 | "C:\\Users\\Administrator\\.nuget\\packages\\": {}, 1013 | "C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder": {} 1014 | }, 1015 | "project": { 1016 | "version": "1.0.0", 1017 | "restoreSettings": { 1018 | "hideWarningsAndErrors": true 1019 | }, 1020 | "restore": { 1021 | "projectUniqueName": "E:\\学习资料\\DotNet\\开发目录\\Grpc Consul\\Snai.GrpcService\\Snai.GrpcService.Protocol\\Snai.GrpcService.Protocol.csproj", 1022 | "projectName": "Snai.GrpcService.Protocol", 1023 | "projectPath": "E:\\学习资料\\DotNet\\开发目录\\Grpc Consul\\Snai.GrpcService\\Snai.GrpcService.Protocol\\Snai.GrpcService.Protocol.csproj", 1024 | "packagesPath": "C:\\Users\\Administrator\\.nuget\\packages\\", 1025 | "outputPath": "E:\\学习资料\\DotNet\\开发目录\\Grpc Consul\\Snai.GrpcService\\Snai.GrpcService.Protocol\\obj\\", 1026 | "projectStyle": "PackageReference", 1027 | "fallbackFolders": [ 1028 | "C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder" 1029 | ], 1030 | "configFilePaths": [ 1031 | "C:\\Users\\Administrator\\AppData\\Roaming\\NuGet\\NuGet.Config", 1032 | "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" 1033 | ], 1034 | "originalTargetFrameworks": [ 1035 | "netstandard2.0" 1036 | ], 1037 | "sources": { 1038 | "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {}, 1039 | "https://api.nuget.org/v3/index.json": {} 1040 | }, 1041 | "frameworks": { 1042 | "netstandard2.0": { 1043 | "projectReferences": {} 1044 | } 1045 | }, 1046 | "warningProperties": { 1047 | "warnAsError": [ 1048 | "NU1605" 1049 | ] 1050 | } 1051 | }, 1052 | "frameworks": { 1053 | "netstandard2.0": { 1054 | "dependencies": { 1055 | "Google.Protobuf": { 1056 | "target": "Package", 1057 | "version": "[3.5.1, )" 1058 | }, 1059 | "Grpc.Core": { 1060 | "target": "Package", 1061 | "version": "[1.11.0, )" 1062 | }, 1063 | "NETStandard.Library": { 1064 | "suppressParent": "All", 1065 | "target": "Package", 1066 | "version": "[2.0.0, )", 1067 | "autoReferenced": true 1068 | } 1069 | }, 1070 | "imports": [ 1071 | "net461" 1072 | ], 1073 | "assetTargetFallback": true, 1074 | "warn": true 1075 | } 1076 | } 1077 | } 1078 | } -------------------------------------------------------------------------------- /Snai.GrpcService/Snai.GrpcService.Protocol/protoc.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Liu-Alan/Grpc-Consul/c0fb219e3739756f6fdb659b50a220be50bd4894/Snai.GrpcService/Snai.GrpcService.Protocol/protoc.exe -------------------------------------------------------------------------------- /Snai.GrpcService/Snai.GrpcService.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 15 4 | VisualStudioVersion = 15.0.27130.2010 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Snai.GrpcService.Hosting", "Snai.GrpcService.Hosting\Snai.GrpcService.Hosting.csproj", "{6C2C73E5-FE3C-4C96-919B-F57D9E4F2C51}" 7 | EndProject 8 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Snai.GrpcService.Protocol", "Snai.GrpcService.Protocol\Snai.GrpcService.Protocol.csproj", "{20F280F6-B8EE-4E6F-9FC0-3617F9C540B0}" 9 | EndProject 10 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Snai.GrpcService.Impl", "Snai.GrpcService.Impl\Snai.GrpcService.Impl.csproj", "{73D45678-6C04-4B0B-BD48-7DAF19E3A0FE}" 11 | EndProject 12 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Snai.GrpcClient", "Snai.GrpcClient\Snai.GrpcClient.csproj", "{DD8980AC-186D-4835-9350-AA9CD8D54C8F}" 13 | EndProject 14 | Global 15 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 16 | Debug|Any CPU = Debug|Any CPU 17 | Release|Any CPU = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 20 | {6C2C73E5-FE3C-4C96-919B-F57D9E4F2C51}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 21 | {6C2C73E5-FE3C-4C96-919B-F57D9E4F2C51}.Debug|Any CPU.Build.0 = Debug|Any CPU 22 | {6C2C73E5-FE3C-4C96-919B-F57D9E4F2C51}.Release|Any CPU.ActiveCfg = Release|Any CPU 23 | {6C2C73E5-FE3C-4C96-919B-F57D9E4F2C51}.Release|Any CPU.Build.0 = Release|Any CPU 24 | {20F280F6-B8EE-4E6F-9FC0-3617F9C540B0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 25 | {20F280F6-B8EE-4E6F-9FC0-3617F9C540B0}.Debug|Any CPU.Build.0 = Debug|Any CPU 26 | {20F280F6-B8EE-4E6F-9FC0-3617F9C540B0}.Release|Any CPU.ActiveCfg = Release|Any CPU 27 | {20F280F6-B8EE-4E6F-9FC0-3617F9C540B0}.Release|Any CPU.Build.0 = Release|Any CPU 28 | {73D45678-6C04-4B0B-BD48-7DAF19E3A0FE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 29 | {73D45678-6C04-4B0B-BD48-7DAF19E3A0FE}.Debug|Any CPU.Build.0 = Debug|Any CPU 30 | {73D45678-6C04-4B0B-BD48-7DAF19E3A0FE}.Release|Any CPU.ActiveCfg = Release|Any CPU 31 | {73D45678-6C04-4B0B-BD48-7DAF19E3A0FE}.Release|Any CPU.Build.0 = Release|Any CPU 32 | {DD8980AC-186D-4835-9350-AA9CD8D54C8F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 33 | {DD8980AC-186D-4835-9350-AA9CD8D54C8F}.Debug|Any CPU.Build.0 = Debug|Any CPU 34 | {DD8980AC-186D-4835-9350-AA9CD8D54C8F}.Release|Any CPU.ActiveCfg = Release|Any CPU 35 | {DD8980AC-186D-4835-9350-AA9CD8D54C8F}.Release|Any CPU.Build.0 = Release|Any CPU 36 | EndGlobalSection 37 | GlobalSection(SolutionProperties) = preSolution 38 | HideSolutionNode = FALSE 39 | EndGlobalSection 40 | GlobalSection(ExtensibilityGlobals) = postSolution 41 | SolutionGuid = {CA7EAEE8-6264-4C77-9AA8-D35131F0C1AA} 42 | EndGlobalSection 43 | EndGlobal 44 | --------------------------------------------------------------------------------