managed-c++相关内容

System.IO.FileNotFoundException:部署应用程序时无法加载文件或程序集“X"或其依赖项之一

我在部署一个应用程序时遇到了一个奇怪的问题,该应用程序引用了一个用托管 C++ 编写的程序集. 我创建了一个程序集 X,编译它并在一个名为 Starter 的 exe 文件中引用它. Starter.exe 在本地机器上正常启动.但是,当我将 starter 调试文件夹的所有内容复制到虚拟机并尝试在那里启动时,它会崩溃并出现以下异常: 未处理的异常:System.IO.FileNot ..
发布时间:2021-11-26 11:53:22 C#/.NET

.Net Core 中的 C++/CLI 支持

我们的项目结构是这样的, native.dll :- 这包含用 c\c++ 编写的纯本机代码.这个 native.dll 使用 *def 文件公开了一些函数. Wrapper Library(wrapper.dll 用 .Net framework v4.0 编译) :-为了使用 native.dll 的功能,需要一个 Wrapper lib(wrapper.dll)使用 :clr\o ..
发布时间:2021-11-24 12:42:54 C#

System.IO.FileNotFoundException:部署应用程序时无法加载文件或程序集“X"或其依赖项之一

我在部署一个应用程序时遇到了一个奇怪的问题,该应用程序引用了一个用托管 C++ 编写的程序集. 我创建了一个程序集 X,编译它并在一个名为 Starter 的 exe 文件中引用它. Starter.exe 在本地机器上正常启动.但是,当我将 starter 调试文件夹的所有内容复制到虚拟机并尝试在那里启动时,它会崩溃并出现以下异常: 未处理的异常:System.IO.FileNot ..
发布时间:2021-11-24 11:08:35 C#

数组<字节>^ 和字节* 之间的区别是什么?

并且是否可以将数组转换为 字节>^ 到一个字节*? 以下代码需要如何更改才能返回一个字节*? array^ StrToByteArray(System::String^ unicodeString){UTF8Encoding^ utf8 = gcnew UTF8Encoding;数组^encodedBytes = utf8->GetBytes( unicodeString );返回编码字 ..
发布时间:2021-09-18 20:38:26 其他开发

为什么在 C++ 类定义中使用公共引用

首先,我想说明的是,我对 C++ 完全陌生,所以这可能是一个简单且有些明显的问题.在我正在阅读的 C++ 书籍 C++ Primer 中,通过以下方式定义了一个类: class 类名{民众:私人的:}; 然而,在 VS2008 中,编译器并不喜欢这样.但是通过在类之前添加公共引用,如: public ref class classname{ 它在编译器中通过了.谁能解释一下仅使用类定义和使 ..
发布时间:2021-09-18 19:11:10 其他开发

csharp 到 java JNI 移植调用以在 ubuntu 上运行

我遇到了错误:崩溃发生在本地代码中的 Java 虚拟机之外.每当我使用带有本机库和 .net 模块文件的类文件运行时,它都可以正常工作.但是当我尝试单独运行类文件和本机库时,它会崩溃.请澄清我所做的错误,请查看我的代码.供您参考参数 ============================================ 公共类 Sum{public int add(int a, int ..
发布时间:2021-09-12 19:17:32 其他开发

无法加载由 {dll} 导入的过程

我有几个非托管 C++ 编写的 lib 文件,我需要将它们链接到托管 C++ dll. 然后我需要从 C# 应用程序调用这个托管 C++ 的函数. 第一步没问题 - 创建了托管 C++ dll,我可以用 ildasm 看到它导出了我需要的函数.但是,当我尝试从我的 C# 编写的测试应用程序中调用此函数时,它说: 在未知模块中发生类型为“System.IO.FileLoadExcept ..
发布时间:2021-08-30 18:34:46 其他开发

C链接函数无法返回C ++类-由我的方法内容引起的错误

我正在导出可以从非托管代码中调用的方法,但是该函数本身位于托管c ++项目中.以下代码导致编译器错误: 错误C2526:'System :: Collections :: Generic :: IEnumerator :: Current :: get':C链接函数无法返回C ++类'System :: Collections :: Generic :: KeyValuePair ..
发布时间:2021-05-06 19:51:01 其他开发

使用dllexport时出错?

我想通过使用dllexport导出功能.但是我在编译器“错误C4439:'WrappedC':签名中具有托管类型的函数定义必须具有__clrcall调用约定"时遇到了错误. 我在头文件(.h)中的代码是: 外部"C"{__declspec(dllexport)int __stdcall ABC(int i);__declspec(dllexport)char * __stdcall C(i ..
发布时间:2021-04-01 21:43:15 其他开发

如何在托管C ++中处理IDisposable?

我正在尝试在托管C ++(.NET 2.0)中处理IDisposable对象(FileStream ^ fs)并收到错误消息 Dispose':不是'System :: IO :: FileStream 的成员 它说我应该改为调用析构函数.会打电话 fs->〜FileStream(); 在FileStream对象上调用dispose方法吗?为什么我不能打电话给Dispose? ..
发布时间:2021-04-01 20:00:45 其他开发

将静态本机库链接到托管C ++项目会在

简介: 托管( / clr )C ++项目( .dll )静态链接本机C ++库(使用 / MD 编译)。静态库很大,并引用了许多其他库,但是托管C ++代码使用的功能微不足道,不应引入任何其他依赖项。 问题: 由于 LNK2001 和 LNK2019 提到代码绝对不依赖的符号 即使我添加了必需的依赖项,也要切换工具集(例如,从 VS2017 迁移到 VS2019 )导致错误再 ..
发布时间:2020-10-03 01:54:32 其他开发

使用cmake将clr支持设置为true

我正在尝试使用cmake生成托管的c ++代码。以下是我为此添加的脚本 SET_TARGET_PROPERTIES($ {PROJECT_NAME} PROPERTIES COMPILE_FLAGS“ / clr”) STRING(替换“ / EHsc”“ / EHa” CMAKE_CXX_FLAGS $ {CMAKE_CXX_FLAGS}) STRING(替换“ / RTC1”“” ..
发布时间:2020-10-03 01:53:10 其他开发

如何卸载托管C ++ dll?

A.dll是本机c ++ dll,B.dll是托管c ++ dll。 A.dll依赖于B.dll,因此在加载A.dll时,会自动加载B.dll,但是在卸载A.dll之后,仍会加载B.dll。只有A.dll依赖于B.dll,为什么无法卸载B.dll?如何卸载托管C ++ dll?我正在使用vs2010。 谢谢 解决方案 您无法卸载由CLR加载后的托管程序集。唯一的方法是杀死AppDom ..
发布时间:2020-09-28 03:34:08 其他开发

从std :: string转换为String ^

我在C ++中有一个函数,其值在std :: string类型中,并且想将其转换为String ^。 void(String ^ outValue) { std :: string str(“ Hello World”); outValue = str; } 解决方案 Google搜索显示 marshal_as (未经测试): // marshal_a ..
发布时间:2020-09-26 23:20:55 其他开发

C ++:获取“错误C2065:'pst':未声明的标识符"在使用pstsdk时?

在以下问题中,建议与 pstsdk 一起使用: 正在处理Microsoft Office Outlook 2003/2007电子邮件… 并按照此处的说明进行操作: PST文件格式SDK-PST层概述-入门 而且根据此视频: 在PST SDK演示中,Terry Mahaffey讨论了PST SDK文件格式SDK. (将其转发到28:32) 他们都同意,我只需要在正确添加 Boo ..
发布时间:2020-07-04 19:50:31 其他开发

托管C ++ ^(句柄)->它是什么以及它与引用和指针有何关系

托管C ++中的对象的句柄之间有什么区别 例如: System::String^ str = gcnew System::String(); 和普通的C ++指针? 它们还与C#中的引用有何关系? 解决方案 您不是在谈论(较旧的)托管C ++,而是在谈论C ++/CLI,对吧? 在C#中,您的代码等效于 System.String str=new Syst ..
发布时间:2020-06-17 19:29:52 其他开发

.Net Core中的C ++ / CLI支持

我们的项目结构是, native.dll :-其中包含用c编写的纯本机代码\c ++。 此native.dll使用* def文件公开一些功能。 包装器库(使用.Net Framework v4编译的wrapper.dll。 0):- 为了使用 native.dll 的功能,需要使用 Wrapper lib(wrapper。 dll) 使用:clr\oldsyntax C ++ \ ..
发布时间:2020-05-31 19:20:20 其他开发

什么是等效于C#using语句的Managed C ++

如何在托管C ++中对以下C#代码进行编码 void Foo() { 使用(SqlConnection con = new SqlConnection(“ connectionStringGoesHere”)) { //做东西 } } 澄清: 对于托管对象。 解决方案 假设您的意思是C ++ / CLI(而不是旧的托管C ++),则可以选择以下选项: ..
发布时间:2020-05-30 20:06:35 其他开发

是否将本机指针转换为C ++ \ CLI受管对象引用?

我有一个通过委托调用的回调.在其中,我将需要处理来自记录过程的缓冲区数据.通常,在非托管上下文中,我可以在dwParam1上执行reinterpret_cast以获取对象引用. 但是在托管环境中,如何将DWORD_PTR强制转换为托管对象ref? static void WaveInProc(HWAVEIN hwi, UINT uMsg, DWORD_PTR dwInstance, ..
发布时间:2020-05-28 21:46:43 其他开发