文章9
标签7
分类4

发布.netcore

实不相瞒,像个憨批一样折腾了一天的.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 此时就需要修改一下这个文件Web.Config示例

第一处是日志 之前是false 打开是true 第二处hostingModel="OutOfProcess"

最后双击.exe运行 访问完成 可以访问啦!

中间也出现过500 500.30 这种错误 可以注意一下端口号是否打开 以及如果用iis的话 是否选用了启用了IIS

对了配置到IIS上的话就不用双击运行EXE了 这个是用的kestrel

0 评论

">