美文网首页
在ASP.NET中调用 非托管的C++ DLL文件(通过C++\

在ASP.NET中调用 非托管的C++ DLL文件(通过C++\

作者: chbeychevelle | 来源:发表于2019-02-19 22:12 被阅读0次

今天打算给一个OC项目写个简单的Web API,顺便了解如何利用 C++\CLIL来桥接C++ 与C#,本以为用VS2017一路生成就可以了,哪知道掉了个坑,在这里记录一下:

目标: myDll.dll (c++) --> myDll_Cli.dll(c\cli) --> web api(c#) 完成图如下: 1.gif
1、新建web api 、添加mydll (c++)以及 mydllCil 三个项目,这里需要注意平台选择x86;
2、配置mydllCi项目:

1.设置项目属性 ->【VC++目录】->【包含目录】和【库目录】为 myDll(c++) 目录;

2.jpg
  1. 设置项目属性 ->【链接器】->【延迟加载的DLL】为myDll.dll(C++项目即将生成的项目)


    3.jpg
3、配置webapi项目

1)设置项目属性 ->【生成事件】 -> 【后期生成事件命令行】为如下:

copy  $(SolutionDir)$(ConfigurationName)\MYDLL.dll $(ProjectDir)$(OutDir)

这里就是dos命令,具体可以百度命令行 指令


4.jpg

2)添加代码 到 Global.asax 文件:

            String _path = String.Concat(System.Environment.GetEnvironmentVariable("PATH"), ";", System.AppDomain.CurrentDomain.RelativeSearchPath);
            System.Environment.SetEnvironmentVariable("PATH", _path, EnvironmentVariableTarget.Process);
5.jpg

这是大坑,为啥要添加直接给出网址:ASP.NET与非托管DLL的那些事儿

相关文章

网友评论

      本文标题:在ASP.NET中调用 非托管的C++ DLL文件(通过C++\

      本文链接:https://www.haomeiwen.com/subject/uxofyqtx.html