【c# – 为什么我的64位服务运行为32位?】教程文章相关的互联网学习教程文章

C# 32位程序访问64位注册表【代码】

接上文:http://www.cnblogs.com/TaiYangXiManYouZhe/p/5086974.html上代码:RegistryKey localKey; if (Environment.Is64BitOperatingSystem)localKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry64); elselocalKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32);string value = localKey.OpenSubKey(@"SOFTWARE\Microsoft\Office\15.0\Common\InstallRoot")...

C# MD5 32位加密 UTF-8编码【代码】

项目开发过程中需要用到MD5加密,最开始的使用使用加密方法:publicstaticstring GetMD5(string str) {byte[] b = System.Text.Encoding.Default.GetBytes(str);b = new System.Security.Cryptography.MD5CryptoServiceProvider().ComputeHash(b);string ret = "";for (int i = 0; i < b.Length; i++){ret += b[i].ToString("x").PadLeft(2, ‘0‘);}return ret; }在一开始的测试过程中没有出现问题,后来传入的参数包含中文后,就...

C# 获取当前操作系统是32位还是64位【代码】【图】

注:判断整型的长度的方式,只有在AnyCPU编译模式下才有用。因此更好的办法是获取真的地址总线位宽(使用WMI,windows management instruementation)。 .NET 2.0add reference, System.Managementusing System.Management; ...publicstaticint GetOSBit(){try{string addressWidth = String.Empty;ConnectionOptions mConnOption = new ConnectionOptions();ManagementScope mMs = new ManagementScope(@"\\localhost", mConnOpti...

c# – 在64位环境中将指定的NUnit测试作为32位进程运行

我有一个使用OLEDB从Excel文件导入数据的组件.由于业务风险和时间限制,我的可执行shell被编译为x86(32位)以避免64-bit OLEDB problem,并且组件在加载到我的32位shell时运行完美. 但是,我的CI构建过程(TeamCity)在64位进程中运行其TestRunner,因此针对上述功能的单元测试失败,并显示常见错误消息:Test(s) failed. System.InvalidOperationException : The‘Microsoft.Jet.OLEDB.4.0’ provider is not registered on the localmach...

c#-使用反射从.NET 64位exe调用.NET 32位dll中的方法【代码】

我有一个32位.NET类库,它具有一个简单的公共类和一个简单的公共方法.我有一个使用反射的64位.NET控制台应用程序,我希望加载32位程序集并使用其方法.using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Reflection; using Host.TestLib;namespace test {class Program{static void Main(string[] args){var lib = Assembly.LoadFrom("Simple32bitAssembly.dll");}} }运行此命令时...

c#-使用64位项目中的32位库-.NET

我们的应用程序都是64位的.我们为第三方数据库(nexusdb)提供了ADODB提供程序.它是32位的,由.NET库(我们引用得很好)组成,我相信32位的C .dll.因此,当我们以32位编译时,它可以工作,而在64位编译时,它抱怨找不到C .dll. 我们如何在不将代码编译为32位的情况下解决此问题? 编辑: 第三方DLL如下:ADONET.dll-这是我引用的.NET本机DLL,它引用的也很好.ADONETProvider.dll-这是我刚刚保存在bin /文件夹中的非.NET 32位DLL. 我不想为x86编...

c# – 是否有一种简单的方法可以将32位整数转换为16位整数?【代码】

我有一个32位的int,我只想解决这个变量的下半部分.我知道我可以转换为位数组和int16,但还有更直接的方法吗?解决方法:你只想要下半部分,你可以把它投出:(Int16)my32BitInt 通常,如果您正在扩展/截断这样的位模式,那么您需要注意签名类型 – 无符号类型可能会导致更少的意外. 正如评论中所提到的 – 如果您已将代码包含在“已检查”上下文中,或者更改了编译器选项以使默认值为“已检查”,那么您不能截断这样的数字而不会抛出异常,如...

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

我有一个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中,它显示为:...

c# – 将来自.net的每通道32位(每像素128位)位图写入图像

我在运行时生成HDR图像,我需要以完美的质量保存(我通过多个滤镜链接这些图像,所以我希望每次都保持最大的保真度,以避免太多的质量损失). 我正在使用PixelFormat.Format32bppArgb保存那些位图类,我发现64位格式,但列表中没有128位格式(每通道X 4通道32位). 保存由4个浮动组件组成的颜色数组的正确方法是什么?任何图像格式都可以,只要我可以从.NET(如果内置的第三方库不支持它)就可以了. 我正在寻找一个纯粹的.net解决方案(没有包装...

c# – 32位和64位ASP.NET部署

我开发的ASP.NET / C#代码本身是32/64位不可知的,因为它被编译成某种中间语言?我问的原因是我在x64笔记本电脑上编译我的ASP.NET应用程序,然后在x32服务器上部署.没有问题.此外,我看不到在VS2010中选择32位和64位之间的选项.解决方法:您可以编译代码 > AnyCPU – 在32位运行时以32位执行,在64位运行时以64位执行> x86 – 强制执行32位> x64 – 强制执行64位(无法在32位操作系统上运行)>(IA64 – Itanumim) 如果您为AnyCPU编译...

c# – 如何知道我的服务器中安装了哪个版本的Office 2013; 32位还是64位?【代码】

我的服务器上有MS Office. 如何判断是否是我的服务器上安装的32位或64位版本的Office 2013? 我需要使用C#Code获取此信息.解决方法:关于获取32位或64位版本的Office 2013 C#代码是:private Nullable<bool> IsOffice64Bit(string RegistryPrefix, string OfficeVersionNo){Nullable<bool> isOffice64Bit = null;string Bitness = GetRegKey64(HKEY_LOCAL_MACHINE, RegistryPrefix + OfficeVersionNo + "\\Outlook", "Bitness");if ...

C# 32位系统与64位系统调用不同的DLL文件

string dll32 = System.Windows.Forms.Application.StartupPath + @"\System.Data.SQLite-32.DLL"; string dll64 = System.Windows.Forms.Application.StartupPath + @"\System.Data.SQLite-64.DLL"; string dllpath = System.Windows.Forms.Application.StartupPath + @"\System.Data.SQLite.dll"; string systemtype = string.Empty; systemtype = Detect32or64(); if (...

win10 64位 C# 连接oracle 32位, 遇到的问题及解决【图】

首次 本机电脑是win10系统 64位的;安装的oracle数据库也是64位的; 服务器端的oracle 是32位的; 第一次安装的pl/sql 也是64位的, 配置完 F:\app\ln_qi\product\11.2.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora 文件后, 运行vs2017 ,报错:尝试加载 Oracle 客户端库时引发 BadImageFormatException。如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,将出现此问题。 之后,就是百度报解决方案,全都不好使. 解决:...

C# 32位程序,申请大内存,附dome(wpf),亲测可用【图】

1、我是vs2017,在选装vs的时候,需要安装c++模块,因为申请大内存的必要exe存放在vc的某个目录(下面会给出详细的地址)下的 2、安装完成在vs的安装目录可找到这个文件,我是社区版本的,如果是其他版本也差不多,给大家参照 C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\bin\Hostx64\x64\editbin.exe 3、在vs,启动程序的属性->生成事件->后期生成事件命令行 输入以下内容,直接...