实不相瞒,像个憨批一样折腾了一天的.NET CORE的发布
配置
环境:win2012 iis
环境配置:
dotnet-hosting
dotnet-sdk
windowsdesktop-runtime
请自行百度下载QAQ(一定要有的嗷
发布
我个人开发环境是VS2019 发布时配置如下
对咯 我端口和域名绑定的是配置项
添加了一个hosting.json 的数据文件
{
"server.urls": "http://域名:端口;http://localhost:9999"
}
然后在Program.cs中 Main添加
var config = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("hosting.json", optional: true)
.Build();
Configuration = config;
记得在上面提添加private static IConfigurationRoot Configuration { get; set; }
在CreateHostBuilder中添加
webBuilder.UseKestrel().UseUrls(Configuration["server.urls"]);
webBuilder.UseIIS();
然后我目前的program是这样哒
public class Program
{
private static IConfigurationRoot Configuration { get; set; }
public static void Main(string[] args)
{
var config = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("hosting.json", optional: true)
.Build();
Configuration = config;
CreateHostBuilder(args).Build().Run();
}
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
webBuilder.UseKestrel().UseUrls(Configuration["server.urls"]);
webBuilder.UseIIS();
});
}
有点乱QAQ
发布的时候就按上面的配置 如果不清楚可以百度 百度有好多教程
修改
发布之后吧文件打包上传到服务器
大字提醒,
记得开放端口号!!!!!
就这个问题 我TM纠结了一天外网无法访问 真尼玛 憨批
如果当你发布后发现用不成 也没出现报错,首先就应该去看看端口是否开放
如果是如果还是没用的话 可以试试看改webconfig,在程序中是没有Web.Config的 但是在发布后系统会自动生成Web.config 此时就需要修改一下这个文件
第一处是日志 之前是false 打开是true 第二处hostingModel="OutOfProcess"
最后双击.exe运行 访问完成 可以访问啦!
中间也出现过500 500.30 这种错误 可以注意一下端口号是否打开 以及如果用iis的话 是否选用了启用了IIS
对了配置到IIS上的话就不用双击运行EXE了 这个是用的kestrel
0 评论