非托管 C++ - 需要强名称才能由具有强名称的 C++/CLI dll 引用吗?

2023-12-30

我有一个非托管 C++ dll,它将由托管 C++/CLI 包装器 .dll 使用,最终将由 C# 项目使用。

C# 项目是强名称的,包装器 .dll 也是如此。我尝试使用 /KEYFILE 对非托管 dll 执行相同的操作,但似乎不起作用。包装器正在抱怨:

.... is a strong-name signed assembly and embedding a manifest invalidates the signature

我是否需要对非托管 C++ 进行强命名?如果不是,我该如何解决这个问题?


终于一切正常了,即我的 C# 应用程序调用 C++/CLI 包装器 dll,它调用本机 C++ dll 中的类!

解决问题的方法:

mt.exe : general warning 810100b3: ... MyWrapper.dll is a strong-name signed assembly and embedding a manifest invalidates the signature. You will need to re-sign this file to make it a valid assembly.

重要提示:事实证明引用类中的强名称不是问题。

事实证明,在这种情况下,VS 对包装器 dll 进行签名的方式有问题。参见链接:http://blogs.msdn.com/b/vcblog/archive/2011/03/11/10140139.aspx http://blogs.msdn.com/b/vcblog/archive/2011/03/11/10140139.aspx

简而言之,要解决此问题,请在包装器 C++ 类中将其添加为要重新签名的构建后命令:

sn.exe -R $(SolutionDir)$(Configuration)\MyWrapper.dll MyKeyFile.snk
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

非托管 C++ - 需要强名称才能由具有强名称的 C++/CLI dll 引用吗? 的相关文章

随机推荐

  • 使用 SocketChannel Android 连接到 websocket

    我编写了连接到 websocket 服务器 服务器应用程序和 android 应用程序的 android 应用程序Autobahn网络套接字库 我可以成功连接服务器并与服务器交换消息 但一段时间后 20 30 分钟后 Android 应用程
  • 多态 has_and_belongs_to_many

    如何定义 has and belongs to many 多态关联 情况 想象一下我们有用户 曲目 列表等 并且所有这些模型都可以被标记并使用此标签进行过滤 我想做的是 Use has and belongs to many这使得标签可以拥
  • 使用 sql 选择的值作为另一个选择的行名称

    在 MSSQL 服务器上 给定表 TABLE values int id timestamp date int value TABLE value type int value id foreign key on values id tex
  • 通过 setName() 比较组件。

    我正在编写一个图像拼图游戏 代码的一部分是将用户选择的片段与正确图像的片段进行比较 每个图像片段都已作为 ImageIcon 添加到 JButton 需要一个标识符来区分每个图像片段并进行比较 我正在为每个创建为标识符的 JButton 设
  • Java - 字段名称的别名

    假设我有一个对象 Object A String field1 abc String field2 xyz 上面的 json 是 ObjectA field1 abc field2 xyz 我试图在发送 json 之前为字段名称创建一个新的
  • 构建一个简单的键盘记录器 Android 应用程序:虚拟键盘的辅助功能研究

    我一直在尝试寻找一些资源 以便为 Android 平台 APILevel 17 上的辅助功能研究项目构建键盘记录器 Android 应用程序 应用程序的界面将是一个简单的 编辑文本 用户使用以下命令键入的字段虚拟屏幕键盘 从输入设置中选择所
  • Dalvik 到 Java SE 通信

    我正在计划开发一个 Android 应用程序 它需要后端服务器来与该应用程序的其他用户同步数据 我计划用在 UNIX 服务器上运行的标准 java 编写这个服务器 我曾经直接在两个 Android 设备之间执行此操作 在这种情况下 我只是序
  • 如何对具有非数值的数据框进行分组和透视

    我正在使用 Python 并且有一个包含 6 列的数据集 R Rc J T Ca 和 Cb 我需要先 聚合 列 R 然后 聚合 以便对于每个 R 每一行都是唯一的 J Rc 是 R 的特征 Ca 和 Cb 是 T 的特征 查看下表会更有意义
  • 什么是 UI 状态?

    什么是 UI 状态 你能给我举一个类似的例子吗 例如 它是否指的是跟踪打开的选项卡之类的事情 我认为这个想法是应用有状态 并且 UI 反映了该状态 所以当你的应用程序启动时 它会像下面这样 1 初始状态 应用程序启动 2 加载初始数据 加载
  • 自动前缀过滤器在 Flask_Assets 中不起作用

    我尝试按照以下说明让 autoprefixer 过滤器与 Flask assets 一起使用Flask Assets 文档 https webassets readthedocs io en latest builtin filters h
  • 如何使用 core php 在 WordPress 中注册后自动登录

    几天来我一直在尝试让刚刚注册到我的 WordPress 网站的用户自动登录 然后将他们重定向到我选择的 URL 默认情况下 WordPress 会向您发送用户名和密码 然后您必须手动登录 这是一种彻底的痛苦 我怎样才能克服这个问题 我有自己
  • Java随机数

    初学者问题在这里 我尝试使用此代码创建一个随机数 int rand int Math random 10 但是 当打印到屏幕时 我一直收到 0 作为答案 只有在像这样加上括号之后 int rand int Math random 10 数字
  • 堆空间中的缓冲响应会导致大文件出现问题

    我有一个网络服务器项目 在尝试下载大文件时遇到异常 该文件通过流读取并写入 ServletOutputStream 示例代码 private void readFromInput BufferedInputStream fis Servle
  • AMQP 1.0 实现在哪里?等待还有意义吗?

    我正在进行研究 以确定我们未来的产品应采用哪种消息传递解决方案 但我无法真正弄清楚这一点 有很多 AMQP 0 9 1 实现 RabbitMQ Apache Qpid OpenAMQ 等 但没有 AMQP 1 0 实现 尽管 1 0 已于
  • 如何在 OpenAPI (Swagger) 中指定默认的 XML 元素文本?

    我正在为以下 XML 有效负载构建 OpenAPI Swagger 2 0 定义 以在 Swagger UI 中使用
  • WinSpool OpenPrinter 访问被拒绝

    这是这个问题第 335 次被问到 但我没有找到答案 我正在尝试通过 WinSpool api 从 ASP net C 应用程序将原始数据直接发送到打印机 我的代码只是一个副本here http support microsoft com k
  • 使用多索引将数据帧的一部分与另一部分进行比较

    我有一个具有 3 级多重索引的数据框 gt gt gt np random seed 0 gt gt gt df pd DataFrame np random randint 10 size 18 2 index pd MultiIndex
  • 解码字符串有多少种方法?

    我正在解决需要解码字符串的问题 包含 A Z 字母的消息正在被编码为数字 使用以下映射 A gt 1 B gt 2 Z gt 26 给定一个仅包含数字的非空字符串 确定总数 解码它的方法的数量 示例1 输入 12 输出 2 解释 可以解码为
  • 设计authenticate_user的代码是什么!为 :user 生成后

    我意识到authenticate user is 没有明确定义 https stackoverflow com questions 9272272 where is devise implementation of authenticate
  • 非托管 C++ - 需要强名称才能由具有强名称的 C++/CLI dll 引用吗?

    我有一个非托管 C dll 它将由托管 C CLI 包装器 dll 使用 最终将由 C 项目使用 C 项目是强名称的 包装器 dll 也是如此 我尝试使用 KEYFILE 对非托管 dll 执行相同的操作 但似乎不起作用 包装器正在抱怨 i