控制台启动.Net Core 3.1 Web应用程序 项目

原创博客:https://www.cnblogs.com/wangxiaorang/

环境:.Net Core 3.1 

工具:VS Studio 2019(.net core 3.1以上目前只能用2019)

1、新建一个asp.net core web 应用程序

创建完成目录结构

 2、正常运行方式,直接在浏览器中打开

 

这样肯定是没啥问题,但是在开发过程中那个,有的时候运行起来会比较慢.....

3、在控制台启动项目

当然,还是少不了编译,先生成

 然后找到生成的文件夹

 

 然后 cmd,回车(快速进入指定目录)

 

 然后控制台输入,dotnet 解决方案名称.dll --urls="http://*:端口号"  如: dotnet netcore31demo.dll --urls="http://*:8080"  ,回车

 这样,项目就运行起来了,浏览器访问,localhost:8080

但是好像有个问题,样式不见了,F12看一下

 果然,样式加载失败,因为我们的样式都是放在wwwroot文件夹下的,生成的时候没有加进来(因为我们是编译的,如果是项目发布,就会把样式也加进来的),

把wwwroot文件夹复制过来就行了

但是发现还是不行,看到请求失败的地址看到少了一层wwwroot(有人说可以直接把wwwroot文件夹里面的东西复制到和wwwroot同一级不就解决了,确实可以解决,但是,不建议这么干

 那我们应该怎么干呢,找到Startup.cs文件,在app.UseStaticFiles()里加上  new StaticFileOptions(){FileProvider = new PhysicalFileProvider(Path.Combine(Directory.GetCurrentDirectory(), @"wwwroot"))} 最后记得重新生成一下(重新生成要先停掉项目,在控制台ctrl+c

然后再次启动就ok了

 到此,就实现了在控制台启动.net core web应用程序

最后,说一下为什么是改代码而不是把wwwroot里面的东西直接放在根目录下

1、直接放在根目录下,会让根目录的文件夹越来越多,不便于维护

2、为了之后的发布发布之后的目录如下:

 跟我们直接生成相比,也就是多了web.conifg和wwwroot文件夹,所以,改完代码,我们也可以发布之后,在发布文件夹直接启动项目

注意:控制台启动项目之后,是不可以生成和发布的(文件占用了呗)

其实我以前做asp.net webform项目的时候,喜欢用iis搭站点直接访问本地域名的,当然.net core项目也可以这样干,但是每次都得重新发布,没有这样搞的快

多学一点知识,少写一行代码,每天进步一点点,再会

原文地址:https://www.cnblogs.com/wangxiaorang/p/14459423.html