控制台启动.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 应用程序

 

 

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

 

创建完成目录结构

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

 

 

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

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

 

 

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

 

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

3、在控制台启动项目

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

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

 

 

 然后找到生成的文件夹

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

 

 

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

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

 

 

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

 

 

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

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

 

 

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

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

 

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

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

 

 

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

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

 

 

 

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

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

 

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

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

 

 

 

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

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

 

 

 

然后再次启动就ok了

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

 

 

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

 

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

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

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

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

 

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

 

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

 

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

 

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

 

上一篇:vue+tailwindcss前端框架


下一篇:山东标梵分享的这些写 CSS 的新姿势你该知道喽