漯河恢复常态化疫情防控工作_你尝试使用的应用程序

漯河恢复常态化疫情防控工作_你尝试使用的应用程序问题:windows平台怎么运行.netcore控制台解决一:.netcore跨平台,控制台在生成后并不会生成exe文件直接在生成目录启用cmd,或者直接cd到相应目录startdotnet你的控制台名字.dll 问题:强制生成exe文件在控制台项目管理文件 xxx.csproj 添加下面一行<PropertyGroup>  <Outp…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

问题:windows平台怎么运行.net core控制台

解决一:.net core跨平台,控制台在生成后并不会生成exe文件

直接在生成目录启用cmd,或者直接cd到相应目录

start dotnet 你的控制台名字.dll


 问题: 强制生成exe文件

在控制台项目管理文件 xxx.csproj 

添加下面一行

<PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>netcoreapp2.1</TargetFramework>
    <RuntimeIdentifier>win10-x64</RuntimeIdentifier>
  </PropertyGroup>

运行命令

//还原依赖项
dotnet restore xxx.csproj
//发布程序
dotnet publish xxx.csproj

Jetbrains全家桶1年46,售后保障稳定

在你的bing/debug/netcoreapp2.1/win10-x64 下就可以发现exe了

注意:经测试,生成exe后相应目录是不存在你的配置文件的比如json和xml,需要自己copy


问题:将.net core 控制台程序发布成windows服务

解决:我这边使用的nssm,参考文章:https://blog.csdn.net/fengyunxuanhai/article/details/81504068

但是需要注意相关启动注册服务的问题:

使用外部服务管理器的问题是,除了注册和启动服务之外,没有直接支持处理服务生命周期的各个方面。最重要的是,ServiceBase中没有与OnStop事件等效的事件,它允许您在服务停止时正常清理资源。当进程结束或控制台窗口关闭时,甚至没有可靠的事件可以挂钩。

使用基于NSSM的服务,挂钩服务停止的唯一方法是拦截CTRL + C命令 – 这可以在.Net Core中使用Console对象获得,如下所示:

Console.CancelKeyPress += Console_CancelKeyPress;

private static void Console_CancelKeyPress(object sender, ConsoleCancelEventArgs e)
{
    // Put your clean-up code here
}

使用NSSM注册服务时,请确保将其配置为在关闭服务时发出CTRL + C命令。这是默认完成的,但您可以通过查看服务注册表对话框上的ShutDown选项卡来检查它:

漯河恢复常态化疫情防控工作_你尝试使用的应用程序

请注意,虽然这允许您在服务停止时进行清理,但此方法只能支持可以打开和关闭的基本服务。仍然不支持服务生命周期的其他方面,包括暂停,继续和响应电源事件。


 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/234662.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号