C# 如何在编译中包含.dll以避免动态链接?

C# 如何在编译中包含.dll以避免动态链接?,c#,dll,C#,Dll,我使用的是一个第三方dll文件,该文件在使用C#的visual studio项目中引用。在以前的其他项目经验中,我能够使用dllImport从不同的dll加载对象,然后创建对象,就像dll的源代码包含在我的项目中一样。但是,该方法不适用于第三部分dll。该程序在我正在编程的计算机上完美地工作,但是,当我在另一台计算机上运行它时,它找不到dll。是否有方法包含dll编译并避免使用动态链接?NET Framework的默认设置是从系统路径而不是当前目录加载本机库 但您可以从System.Data.S

我使用的是一个第三方dll文件,该文件在使用C#的visual studio项目中引用。在以前的其他项目经验中,我能够使用dllImport从不同的dll加载对象,然后创建对象,就像dll的源代码包含在我的项目中一样。但是,该方法不适用于第三部分dll。该程序在我正在编程的计算机上完美地工作,但是,当我在另一台计算机上运行它时,它找不到dll。是否有方法包含dll编译并避免使用动态链接?

NET Framework的默认设置是从系统路径而不是当前目录加载本机库

但您可以从
System.Data.SQLite
project(开源)学习,以便从当前文件夹中预加载本机库,并基于操作系统比特度


虽然生成混合模式程序集(合并本机和托管位)听起来是更好的解决方案,但System.Data.SQLite用户经常会感到困惑。因此,我建议使用预加载方法。

通常您希望使用动态链接。问题中的DLL是托管DLL(本机.net对象)、COM还是本机?如果是COM,你是在客户端机器上注册的吗?不幸的是,我对动态链接非常陌生,所以请容忍我。我不确定它是哪一个,但我知道该库是为跨.net平台使用而构建的,它控制着实验室设备的I/O接口。我怎样才能弄清楚是哪种类型的?或者一个更好的问题,有没有什么好的教程或者好的阅读材料可以链接到我?谢谢。假设这是一个.NET DLL,您是否尝试将其与项目程序集(通常为.exe)一起包含在输出文件夹中?是的,我已将其包含在输出文件夹中。如果您不知道它是哪一个,您将如何将其包含在“编译”中?