gpt4 book ai didi

c# - 在同一运行时运行两个相同的 DLL?

转载 作者:行者123 更新时间:2023-11-30 20:10:16 28 4
gpt4 key购买 nike

问题:我有 DLL 形式的开发代码和生产代码,我希望能够比较每个代码的结果。这一切都需要在同一个运行时发生。

我正在寻找的内容: 只需加载开发 DLL、存储结果、然后打开生产 DLL、存储结果,然后比较两者结果的代码。

当前策略:我现在正在考虑使用应用程序域,但我一直无法找到任何非常清晰的代码示例来简单地展示如何加载 DLL、运行方法从该 DLL,并存储来自该 DLL 的结果。应用程序域的概念对我来说仍然很模糊,因为它似乎非常依赖于调用它的代码,因此存储来自这种外部应用程序域的结果对我来说有点困惑。

无论如何,我真的对一个简单的示例感兴趣,该示例演示加载 DLL 并从中运行代码、存储结果、加载同一 DLL 的另一个版本并执行相同的操作。

任何帮助将不胜感激!谢谢!

最佳答案

我建议给 this article一读。他们的示例使用 extern alias指定同一 DLL 的两个不同版本。

在您的 using 部分上方创建别名:

extern alias oldVer;
extern alias newVer;
using System;
.
.
.

添加您的引用并为每个引用指定适当的别名。您可以在其属性中指定要与引用一起使用的别名:

enter image description here

一旦有了别名,您就可以执行以下操作:

Console.WriteLine(oldVer::MyLibrary.MyClass.method());

Console.WriteLine(newVer::MyLibrary.MyClass.method());

关于c# - 在同一运行时运行两个相同的 DLL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5305455/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com