当前位置: 首页 > news >正文

盐城做网站广东东莞电子厂

盐城做网站,广东东莞电子厂,ui人机界面设计,网络营销话题讨论项目场景: VS2022 .NET8 , 项目应用的库需要支持AOT,不支持AOT的库看这里 我的c项目很奇怪,如果使用 clr 调用c# dll,会有很多报错,所以使用 P/Invoke方法,这个方法不会有任何奇怪的报错 解决方案 示例…

项目场景:

VS2022 .NET8 , 项目应用的库需要支持AOT,不支持AOT的库看这里
我的c++项目很奇怪,如果使用 clr 调用c# dll,会有很多报错,所以使用 P/Invoke方法,这个方法不会有任何奇怪的报错
在这里插入图片描述
在这里插入图片描述


解决方案

示例代码

using System.Runtime.InteropServices;
public class test
{[UnmanagedCallersOnly(EntryPoint = "GetPrecursorRanges")]   public static void GetPrecursorRanges(IntPtr filenamePtr, IntPtr outPathPtr)    {//................}[UnmanagedCallersOnly(EntryPoint = "GetOneWindowRaw")]public static void GetOneWindowRaw(int window,IntPtr filenamePtr,IntPtr fileIDPtr,IntPtr outputFilePathPtr){// .................}
}

vs要配置项目
在这里插入图片描述
打开项目的配置文件.csproj, 检查是不是X64平台, 还要添加 <PublishAot>true</PublishAot>

在这里插入图片描述
然后在vs中,生成解决方案,打开
在这里插入图片描述
把工作目录切换到项目中,比如这个路径,要看见csproj
在这里插入图片描述
然后输入 dotnet publish -p:NativeLib=Shared -r win-x64 -c Release
在这里面会提示一些基本的信息,和报错,一般是库的版本不支持P/Invoke,解决之后,正常运行出来会看见dll输出的目录,至此大功告成
但是这个方案会有局限,如果项目中调用了一些COM的库,是不能用此方案生成dll,这种情况的报错如下。

COM Interop requires ComWrapper instance registered for marshalling.

解决方案参考另外一篇用C++/CLI解决的

在这里插入图片描述


http://www.yayakq.cn/news/117586/

相关文章:

  • 成都市建设相关网站洛阳平台公司
  • c 做网站起什么作用数据型网站建设
  • 建设部网站被黑培训机构加盟店排行榜
  • 东莞公司网站建设营销型网站建设福田网页设计
  • 上海中国建设银行网站建设企业网站登录
  • 中山市建设局投诉网站丽水网站建设专业的公司
  • 嘉兴网站关键词优化网站怎么做站长统计
  • 免费网站建设哪个好 - 百度建设网站免费
  • 商城网站设计价格wordpress 下载类主题
  • 创一东莞网站建设欢迎进入中国建设银行网站
  • html5 手机网站开发教程文件目录模板wordpress
  • 网站开发与维护难学吗十堰seo优化教程
  • 房地产网站建设背景新手怎样做网络营销推广
  • 网站如何被百度快速收录网站图片上传不了怎么办
  • 网站建设需要注意的关键细节网站底部流程
  • php外贸网站网站开发建设公司
  • 服装网站建设物流配送系统做企业网站还有钱挣吗
  • ps做的网站模板网站制作方案专业乐云seo
  • 婚庆公司网站网络营销策划书怎么写
  • 商城类网站用什么做滨江区做网站公司
  • 网站建设 中山做初中数学题的网站
  • 二 网站建设的目的及功能定位湖州网站建设哪家好
  • 做留言的网站新像素ui设计官网
  • 如何在阿里巴巴建设网站手机版网站如何制作
  • 建设一个电商网站的流程装宽带需要多少钱
  • 备案网站建设方案书模板wordpress卡核销
  • 做的网站如何放在电脑上广州市律师网站建设价格
  • 四川华远建设工程有限公司网站全能网站模板
  • 网站建设与营销经验厚街做网站的公司
  • 福州网站建?O行情宝app下载