.net - 使用其他 DLL 的 PInvoke DLL - ClickOnce 问题

标签 .net dll clickonce pinvoke

我正在创建一个 .NET DLL,它充当非托管 DLL 上使用 PInvoke 的包装器。我的问题是,如果我在使用单击一次时调用引用其他 DLL 的非托管 DLL,那么我需要在使用该 .NET Wrapper DLL 的项目部署中包含哪些 DLL?

涉及的文件:

  • 使用一次点击部署的项目
  • 包装非托管 DLL 的 .NET DLL(称为 X.DLL)
  • X.DLL 是非托管 DLL
  • Y.DLL 是由 X.DLL 调用的非托管 DLL

我是否必须在单击一次部署中包含所有这些文件?只是.NET DLL?解释为什么也会有帮助:)

最佳答案

是的,您必须指定所有这些。或者至少确保它们都以一种或另一种方式在目标上可用。

虽然 .NET dll 可能会被自动选择(作为项目的一部分)。但您必须检查是否正确检测到非托管 DLL,否则添加它们。

如果这是关于/Sytem32/DLL 或以其他方式共享的文件,您可能会遇到问题。您无法使用 ClickOnce 安装共享 DLL,因此您必须复制到本地。然后希望它能起作用。

关于.net - 使用其他 DLL 的 PInvoke DLL - ClickOnce 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3712692/

相关文章:

c# - DateTime 通过内部刻度进行比较?

.net - 使用 Windows 服务运行 UI

c# - C# DLL 库中的 String.ToLower

c# - Thread.Sleep 现在使用高分辨率计时器还是 Windows 10 更改了默认系统时钟频率?

c# - 从 CollectionView 中获取过滤后的项目

c++ - 从 C++ DLL 编辑 Delphi 记录

java - 如何在 Java 中使用 .Net dll

visual-studio-2013 - Visual Studio 2013 中缺少 Clickonce 先决条件

c# - ConfigurationManager.RefreshSection ("AppSettings") 不起作用

clickonce - 在 Clickonce list 中包含非 .NET 项目