控制台启动.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