加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 为什么我的64位服务运行为32位?

发布时间:2020-12-15 22:18:44 所属栏目:百科 来源:网络整理
导读:我有一个 Windows服务,我有这个问题. 在Visual Studio中,我将其平台目标设置为64位 我运行CorFlags来验证它是否设置正确,我明白了: ??? Version : v4.0.30319CLR Header: 2.5 PE : PE32+CorFlags : 0x1 ILONLY : 1 32BITREQ : 0 32BITPREF : 0 Signed : 0
我有一个 Windows服务,我有这个问题.

>在Visual Studio中,我将其平台目标设置为64位
>我运行CorFlags来验证它是否设置正确,我明白了:

???

Version   : v4.0.30319
CLR Header: 2.5  
PE        : PE32+
CorFlags  : 0x1    
ILONLY    : 1       
32BITREQ  : 0        
32BITPREF : 0        
Signed    : 0

我甚至尝试使用32BITREQ和32BITPREF-标志运行Corflags以确保它被设置为它应该是什么但没有骰子.在taskManager中,它显示为:

MyServiceName(32位)

服务与Topshelf 3.0一起安装,并在Windows Server 2012 R2 Standard上运行.这里发生了什么?

解决方法

当先前版本的服务是32位时,我遇到了这个问题.我知道当前安装的没有(检查过CORFLAGS),但是与服务相关的过程无论如何都被创建为32位,而对于我的生活,我无法理解为什么.

重启后,问题就消失了.我想知道服务控制管理器是否“记住”每项服务的位数,作为启动优化(或其他).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读