草庐IT

c# - 对构建 32 位或 64 位感到困惑

我有一个包含多个项目(C#WPF应用程序和类库)的VS2013解决方案。每个项目的“平台目标”都设置为“任何CPU”。我的印象是生成的EXE将在64位PC上作为64位应用程序运行,在32位PC上作为32位应用程序运行。这个对吗?我的开发PC是64位的,但是当我运行应用程序(独立运行或通过VS调试)时,它在任务管理器中显示为“foo.exe*32”。这是怎么回事?我们有一个32位机器的初级开发人员。他是否仍然能够打开解决方案并在VS中运行它?此外,一些项目引用了第3方DLL。供应商同时提供32位和64位版本-项目应该引用哪个版本?如果我引用32位DLL,这是否会阻止应用程序作为64位应用

c# - 如何使用 JSON 从 WCF REST 服务返回 Base64 编码的字节数组?

我有一个简单的WCFREST方法,它将返回字节数组中的图像/文件/等:[OperationContract][WebGet(UriTemplate="TestMethod")]byte[]TestMethod();服务契约绑定(bind)到具有以下行为的webHttpBinding:该方法工作正常,除了字节数组的格式如下:[25,15,23,64,6,5,2,33,12,124,221,42,15,64,142,78,3,23]如果我删除属性defaultOutgoingResponseFormat="Json",该服务默认为XML格式,并且结果在Base64中编码如下:GQ8XQAY

C#常用加密解密方法(Base64加密解密)

在日常开发过程中,总会遇到需要加密解密的需求,这里我整理了C#常用的加密解密方法分享给大家。先看看加密的基本概念:"加密",是一种限制对网络上传输数据的访问权的技术。原始数据(也称为明文,plaintext)被加密设备(硬件或软件)和密钥加密而产生的经过编码的数据称为密文(ciphertext)。将密文还原为原始明文的过程称为解密,它是加密的反向处理,但解密者必须利用相同类型的加密设备和密钥对密文进行解密。加密的基本功能包括:1.防止不速之客查看机密的数据文件;2.防止机密数据被泄露或篡改;3.防止特权用户(如系统管理员)查看私人数据文件;4.使入侵者不能轻易地查找一个系统的文件。一、本节摘要

c# - 被拳击迷惑。将 -1 转换为 Int64 会抛出 InvalidCastException

好吧,我一定是忽略了一些非常简单的东西,但我迷路了。鉴于此objectval=-1;varfoo=(Int32)(val);varbar=(Int64)(val);转换为Int64抛出InvalidCastException。我知道这与拳击的一些奇怪之处有关,但我不明白其中的原因。据我所知,val在第一行被装箱为Int32。然后,当我尝试转换为Int32以外的其他内容时,将抛出InvalidCastException。我想这意味着当它实际上是Int32时,我正试图将val拆箱为Int64?还是很奇怪。不能转换为值拆箱然后尝试执行转换吗?类似的东西(显然这过于简单化了,也许盒装类型是未知

c# - 在 64 位机器上以 32 位模式运行 Oracle Client

我刚刚从32位Windows7台式机转移到64位Windows7笔记本电脑。我们有一个正在开发的C#程序,该程序在解决方案中包含大约60个项目。我在尝试构建时不断收到以下错误:AttempttoloadOracleclientlibrariesthrewBadImageFormatException.Thisproblemwilloccurwhenrunningin64bitmodewiththe32bitOracleclientcomponentsinstalled显然这个错误很容易解释,我正在尝试让我的整个解决方案以32位模式加载。我已经完成了每个项目并将目标平台设置为x86,但我

c# - 无法在 mvc 应用程序上加载文件或程序集 'Magick.NET-x64' 问题

我在mvc3网络应用程序中使用Magick.net库,这些是我执行的步骤我的项目是针对AnyCPU的,我的机器是64位的将Magick.NET-x64.dll的引用添加到项目中。从此处安装VisualC++RedistributableforVisualStudio2012Update4http://www.microsoft.com/en-us/download/details.aspx?id=30679在机器上安装适用于Windows(64位)的Ghostscript9.14添加在web.config文件上项目已成功重建[并且所有dll也在bin文件夹中],但在运行时出现异常Cou

64位来自ushort阵列的大端数据

我有一个ushort数组,该数组在command.data[]中包含两个数组项。我能够将这两个项目值结合在一起,并获得32位BigEndian值作为UINT32和以下代码PICECE。UInt32param32BitValue=(UInt32)command.Data[0]我还有另一个参数,该参数在ushort阵列中包含4个项目,我想将这四个值结合到ulong值中(插图)UInt64param64BitValue=(UInt64)command.Data[0]大或小的endian格式。我该如何实现?看答案您的第一个代码代码段实际上应移动16位,而不是32,如果command.Data真的是一个

c# - 32 位和 64 位 .NET 应用程序的区别(4)

32位和64位.NET(4)应用程序之间有什么区别?通常32位应用程序在64位机器上运行时会出现问题,反之亦然。我知道我可以将整数声明为int32和int64(当然32位系统上的int64会产生问题)。编写32位或64位或同时兼容32位和64位的应用程序之间还有其他区别吗? 最佳答案 一些区别:32位和64位应用程序只能加载相同位数的DLL。如果您的平台目标是“任何CPU”并且您引​​用P/Invoke32位nativeDLL,这对于托管项目可能是个问题。当您的“AnyCPU”程序在64位机器上运行时会出现问题,因为您的应用程序作为

C# - 从两个 Int32 生成一个 Int64

C#中是否有一个函数接受两个32位整数(int)并返回一个64位整数(long)?听起来应该有一个简单的方法来做到这一点,但我找不到解决方案。 最佳答案 尝试以下操作publiclongMakeLong(intleft,intright){//implicitconversionoflefttoalonglongres=left;//shiftthebitscreatinganemptyspaceontheright//ex:0x0000CFFFbecomes0xCFFF0000res=(res

c# - 如何在 C# 中使用 Int64

问题很简单!如何在C#中表示64位int? 最佳答案 64位int是long 关于c#-如何在C#中使用Int64,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/3845205/