服务程序里能否使用具有托管代码的动态库
有一个服务程序service.exe,里面动态加载使用 a.dll,服务关闭的时候,会出现
“0x071b315c"指令引用的"0x071b315c"内存。该内存不能为"read"。要终止程序,请单击"确定"的异常错误的对话框。
调试代码一直没能调到那一句出的错(断点一直无法打上)。不用服务程序,用普通的win32程序调用该dll是没有问题的。
是不是说服务程序不能调用 托管的dll? 还是编译时需要进行相关配置。
相关推荐
C#调用非托管动态库中的函数方法
C#如何调用一个非托管动态库中的函数呢,比如用VC6写的动态库,总之C#调用动态库的过程是比Java调用DLL动态库方便快捷多了,下面举例说明这个过程。 1、创建一个非托管动态库 代码如下: 代码如下: //这一句是声明动态库输出一个可供外不调用的函数原型. extern “C” __declspec(dllexport) int add( int , int ); int add( int a, int b) { //实现这个函数returna+b; } 注意上面代码,一定要加上 extern”C” ,不能
C#实现FTP服务器源码:从协议原理到Web管理后台全解析
文件传输是系统集成中的基础需求,FTP作为经典应用层协议,依赖控制连接与数据连接的双通道模型。在云服务器和NAT环境下,被动模式(PASV)成为唯一可靠选择。使用C#开发FTP服务端,能够将协议解析、用户认证、目录授权与流量统计嵌入现有业务系统,而通过ASP.NET Core搭建Web管理后台,可实现用户、会话与磁盘配额的在线管理。本文面向需要快速落地文件交换能力的.NET团队,剖析C#实现FTP核心命令、安全防御及部署排错的关键点,并给出可复用的源码架构与防火墙配置方案,帮助开发者从协议原理到生产实践完整
非托管动态库调用
System.Runtime.InteropServices浅见
托管代码调用C#httpAgilityPack动态库
C++通过托管代码的方式调用C#开源的解析HTML的httpAgilityPack动态库
C#使用非托管代码直接修改字符串的方法
代码如下:using System; public class Test{ public static void Main(string[] args) { string str = “hello”; ToUpper(str); Console.WriteLine(str); } private static unsafe void ToUpper(string str) { fixed(char * pfixed = str) for(char * p=pfixed;*p!=0;p++) { *p = char.ToUpper(*p); } }}fixed语句:格式 fix


