【问题标题】:Adding references dynamically in .NET在 .NET 中动态添加引用
【发布时间】:2013-10-24 07:00:23
【问题描述】:

我有两个 dll (sqlite),一个 dll 是 64 位,另一个是 32 位 dll。是否可以根据处理器架构动态添加参考? P/Invoke 是我最后的选择。任何帮助将不胜感激!

示例代码:

string pathToDll = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\x64\\System.Data.SQLite.dll";
Assembly assembly = Assembly.LoadFrom(pathToDll);
AppDomain.CurrentDomain.Load(assembly.GetName());

【问题讨论】:

标签: c# .net dll


【解决方案1】:

是的,您可以从文件中加载程序集

 Assembly.LoadFrom("MyAssembly.dll");

从 .net4 你可以使用 Is64BitOperatingSystem 环境属性。否则检查 IntPtr.Size 会根据运行架构发生变化

Cannot encrypt / decrypt SQLite database in .NET4

【讨论】:

  • 我将如何使用 dll 方法,因为我将动态添加引用?
  • 我添加了一个链接到我的其他回复,这应该可以帮助你
  • 我读到了 assembly.loadfrom 方法。看起来是真的,我明天确认解决方案
  • 我尝试了 assembly.loadfrom 方法。它被加载但VS仍然抛出异常。它仍然认为文件是 x86(在 x64 机器上)
  • 一个简单的问题,我可以将 System.Data.SQLite 命名空间伪造给编译器吗?
猜你喜欢
  • 2018-01-15
  • 2011-01-05
  • 2012-09-22
  • 1970-01-01
  • 2014-12-01
  • 2019-06-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多