如果你还在用net4.5,如果你还在用netframework,又想使用netcore2.1的库或者功能,又觉得nuget动不动就好大,可以试试下面的这个。
https://pan.baidu.com/s/1uxywusd485RgqxSnuVTzQw
就一个dll,里面netcore新增的功能,比如span,比如新的非winhttp.dll的httpclient,都可以用
例:
创建一个新的console netframework4.5的项目
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Logging;
using Microsoft.AspNetCore.Http;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Server.Kestrel.Core;
using Microsoft.AspNetCore.Server.Kestrel.Core.Internal;
using Microsoft.Extensions.Options;
using Microsoft.AspNetCore;
namespace testhttp
{
???class Program
???{
???????static void Main(string[] args)
???????{
???????????Http();
???????}
???????static void Http()
???????{
???????????var host = new WebHostBuilder()
???????????????.UseKestrel(options =>
???????????????{
???????????????????// options.ThreadCount = 4;
???????????????????//options.NoDelay = true;
???????????????????//options.UseConnectionLogging();
???????????????})
???????????????.UseUrls("http://127.0.0.1:5001")
???????????????.UseContentRoot(Directory.GetCurrentDirectory())
???????????????.UseStartup<Startup>()
???????????????.Build();
???????????host.Run();
???????}
???}
???public class Startup
???{
???????public void Configure(IApplicationBuilder app, ILoggerFactory loggerFactory)
???????{
???????????loggerFactory.AddConsole(LogLevel.Trace);
???????????app.Run(async context =>
???????????{
???????????????Console.WriteLine("{0} {1}{2}{3}",
???????????????????context.Request.Method,
???????????????????context.Request.PathBase,
???????????????????context.Request.Path,
???????????????????context.Request.QueryString);
???????????????Console.WriteLine("Method:{0}", context.Request.Method);
???????????????Console.WriteLine("PathBase:{0}", context.Request.PathBase);
???????????????Console.WriteLine("Path:{0}", context.Request.Path);
???????????????Console.WriteLine("QueryString:{0}", context.Request.QueryString);
???????????????var connectionFeature = context.Connection;
???????????????Console.WriteLine("Peer:{0}", connectionFeature.RemoteIpAddress.ToString());
???????????????Console.WriteLine("Sock:{0}", connectionFeature.LocalIpAddress.ToString());
???????????????context.Response.ContentLength = 11;
???????????????context.Response.ContentType = "text/plain";
???????????????await context.Response.WriteAsync("Hello world");
???????????});
???????}
???}
}
这样就可以了,对了libuv你自己下一个,丢到输出目录 ,或者用这个nuget
https://www.nuget.org/packages/Libuv/
单文件版本的netframework的net core 2.1
原文地址:https://www.cnblogs.com/sevencatwang/p/9126034.html