managed相关内容

从 C++ 托管的 dll 抛出的 C# 异常 - EEFileLoadException * __ptr64

我从一个普通的 C# 控制台程序中得到这个错误,该程序使用作为 C++ CLI 项目的构建输出生成的 DLL.在那里我有一个简单的 DumbThing public ref class 和一个静态方法.我想简单地调用该函数或至少实例化一个小的 DumbThing 对象,然后看到 C# 可以调用它从 C++ CLI 生成的 DLL 中获取的代码,但它不起作用,因为它引发了一个让我更加困惑的错误: ..
发布时间:2021-11-25 06:53:59 C#

使用托管代码包装器从 64 位托管代码调用 32 位非托管代码的最佳方法

随着 64 位机器和应用程序的流行,我遇到必须从托管 64 位进程调用本机 32 位代码的情况的频率正在增加.我不想将我的应用程序标记为 32 位,而且我无法获得正在调用的代码的 64 位版本. 我目前使用的解决方案是创建在进程外加载的 C++ COM 垫片,以便从 64 位进程进行 32 位调用. 这个 COM shim 解决方案运行良好,跨进程调用由 COM 在后台处理,最大限度地 ..
发布时间:2021-11-24 23:57:46 C#

EWS 托管 API:通过 DateTimeReceived 上的搜索过滤器获取电子邮件

在收件箱中搜索在特定时间范围后收到的项目时(如下面的代码所述).它会搜索日期,但也会返回带有指定时间戳的电子邮件.我只想要指定时间戳之后的电子邮件. SearchFilter Greaterthanfilter = new SearchFilter.IsGreaterThan(ItemSchema.DateTimeReceived,Convert.ToDateTime(lastUploadedE ..
发布时间:2021-11-15 04:16:14 其他开发

由于 mscordbi.dll 版本错误,托管调试不再起作用

我正在尝试使用 Visual Studio 调试内存转储,作为托管,但失败并显示以下错误消息: 托管调试不适用于此小型转储. 无法找到托管小型转储调试所需的库“mscordbi.dll",版本“4.0.30319.0". 在尝试以下多个步骤之一后重新启动调试会话: 如果这台计算机当前未连接到互联网,请进行连接,以便可以从 Microsoft 下载 dll. 在调试器选项下 ..
发布时间:2021-09-18 19:59:15 其他开发

将流程或模块标识为托管/本机

可能的重复: 如何确定进程是否在C#? 我如何知道进程或模块是以编程方式 (.NET) 还是本机方式(在 C++ 中)? 解决方案 我手边没有 PE 规范 - 您可以从 msdn.com 下载它 - 但托管模块通常会有一个 CLR 标头并导入 mscoree.dll. ..
发布时间:2021-09-14 20:08:13 其他开发

从固定对象获取字节数组

可以从托管数组中获取指针 byte [] buffer = new byte[length + byteAlignment];GCHandle bufferHandle = GCHandle.Alloc(buffer, GCHandleType.Pinned);IntPtr ptr = bufferHandle.AddrOfPinnedObject(); 有什么办法可以做相反的事情.从固定对象 ..
发布时间:2021-09-14 20:08:02 其他开发

C# 托管非托管代码

我试图理解托管/非托管代码,因为它与结构和类有关.我有一个具有另一个结构属性的结构,但它的指针声明如下: struct StateInfo{位板;StateInfo* 前一个;} 我正在将 C++ 项目转换为 C#.无论如何,这不起作用,因为 Bitboard 是一个类.我得到的错误是指针不能在托管类型上声明.如果我从结构中取出 Bitboard,那就没问题了.我需要它,所以我将 Bitboa ..
发布时间:2021-09-14 20:07:59 其他开发

如何通过引用修改该字符串的非托管 C 库来发送字符串?

我刚接触与非托管库交互的世界.我有一个非托管 C 函数,它通过函数内的引用修改字符串.我在从 C# 传递字符串并让它被 C 函数修改时遇到问题. 这是 C 函数: __declspec(dllexport) void __stdcall Test(char* name){*name = "酒吧";} 这是 C# DLL 导入代码: [DllImport(@"C:/blah/mylibr ..
发布时间:2021-09-14 20:07:48 其他开发

如何强制 dbo 架构名称?

我在 VS 2008 中使用“SQL SERVER PROJECT"在 C# 中创建 UDF然后我使用 DEPLOY 命令将 DLL 发布到 MS SQL Server 2005 除了所有创建的 UDF 都归我所有(作为用户)外,一切正常但我想保留 dbo 架构(例如:dbo.UDF_TEST - 不是 jonny.UDF_TEST) 知道如何管理塔尔吗? 解决方案 我发现了另 ..
发布时间:2021-08-26 19:20:11 其他开发

C#非托管DLL导出(工作方式)

我发现可以将托管代码导出为非托管的库,因此您可以通过非托管语言(例如C/C ++)使用它.但是我没有找到任何可以解释其完成方式的信息(这是我更感兴趣的) 我正在寻找信息,教程,文章,代码源或任何可以帮助我了解其工作原理的东西 在旁注中,如果您在书签中找到了一些弯钩/弯路资源,我也想阅读它们:) 预先感谢,祝您有美好的一天. 解决方案 我将发布答案,收集我写的评论. ..
发布时间:2021-05-06 19:08:48 其他开发

Spy ++工具的托管版本?

前一段时间,我需要一个类似Spy ++的应用程序来进行某些.NET UI调试.我发现旧的MSDN文章中有一个示例,该示例具有类似的功能,但是在新的.NET Framework版本中停止了工作. 是否有人知道/编写了一个模仿Spy ++行为并在托管应用程序上工作的应用程序(而是显示托管事件/属性)并在最新的.NET Framework(最高4.0)上工作? 解决方案 我可以推荐 UIS ..
发布时间:2021-04-01 19:55:51 其他开发

托管DLL方法在installshield中失败

好,所以我有以下用C#编写的类库: public class Program { public void GetProductID(string location, out string productId) { ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * ..
发布时间:2020-11-29 05:25:07 其他开发

函数的变量存储在哪里?在堆栈还是堆上?

当程序调用一个函数时,为该函数中的变量分配哪种类型的数据结构的内存?堆还是堆?为什么? 在我看来,它应该存储在堆栈中,因为它们不一定是引用类型.但是,在我阅读答案的地方,有人说它们存储在堆上,并且在函数返回值后释放. 解决方案 要复杂得多,而且使用堆栈和堆的事实实际上是实现细节.谈论数据的生命周期更有意义.短期数据将存储在堆栈中(或寄存器中).寿命长的数据存储在堆中. 引用类型 ..
发布时间:2020-11-22 20:48:14 其他开发

如何在一次更新中将通过EWS提取的所有电子邮件标记为已读?

我遵循了MSDN上的EWS托管API示例,在我的Exchange邮箱帐户中找到所有未读的电子邮件。 我后来遍历了每个找到的项目,以便将它们放在列表中我需要在获取每条消息的正文并将其更新为 IsRead = true 的同时返回,如下所示: Folder.Bind(Service,WellKnownFolderName.Inbox); SearchFilter sf = new ..
发布时间:2020-10-29 01:29:38 其他开发

如何将字符串参数从C ++传递到托管的C#DLL

我正在编写一个C ++程序,该程序需要调用用C#编写的DLL。我按照以下说明创建了C#DLL并从C ++链接到它。 https://support.microsoft.com/en-us/kb/828736 我有一个将字符串作为参数的C#函数。如何将C ++中的字符串传递到C#中? 解决方案 我找不到这个问题的简明答案,因此,我将解决方案放在这里,希望它对将来的人有所帮助。 ..
发布时间:2020-10-24 01:24:42 其他开发

HOWTO:在WindowsCE Compact Framework上从非托管C ++调用托管C#接口

我拥有大量的非托管Windows CE 5 C ++代码,通过将其与Windows CE 6和Compact Framework上以托管C#编写的大量较新的业务和通信逻辑相结合,提供了我要在新产品中使用的UI UI可能知道业务逻辑,但是我希望业务逻辑不了解UI,以便以后可以用托管版本或任何其他版本替换它。我选择作为前端的UI。 我找到了一篇文章,描述了如何使用COM作为Windows世 ..
发布时间:2020-10-05 21:14:27 其他开发

在托管C ++上使用非托管指针来回调函数

我正在为控制工业计算机上的数字I / O引脚的某些C ++库(静态.lib,无源代码)编写C ++ / CLI的包装。 我的目标是使用.NET CLR处理现有C#应用程序上DIO引脚的事件。 我唯一想到的可行选择是使用委托当引脚状态更改时(由现有的lib通知),在C ++ / CLI中触发事件,然后在C#部分中处理这些事件。我已经在这里使用简单的模拟对象尝试了基本功能:我的问题是,当引 ..
发布时间:2020-09-28 03:45:52 其他开发

C ++/C#解决方案中不可用的任何CPU

我有一个包含C#和托管C ++项目的解决方案. 它在解决方案平台x64和x86中进行编译.由于它是托管C ++,因此我想创建一个“任何CPU"解决方案并摆脱旧的解决方案. 我将C ++项目链接器设置更改为“针对x64和x86强制使用安全IL映像". 接下来,我使用配置管理器创建了一个名为“任何CPU"的新解决方案平台.接下来,我添加了一个项目平台,也称为“任何CPU". 我继续将 ..
发布时间:2020-07-16 22:16:37 其他开发