C# 两个嵌套DLL

C# 两个嵌套DLL,c#,deployment,encapsulation,dll,C#,Deployment,Encapsulation,Dll,我们有一个dll文件;比如说X.DLL 我们现在正在编写另一个DLL,比如“A.DLL”,它使用了X.DLL的一些函数(很少)。我们无法访问X.DLL的源代码。此外,我们不希望将X.DLL与A.DLL一起提供给客户端 相反,我们希望将X.DLL封装在一个.DLL中,这样分发一个.DLL就足够了 有可能吗 谢谢你的帮助 新手编码器使用所需函数将源代码从x.dll复制到a.dll。 或者将x.dll拆分为两个dll使用所需函数将源代码从x.dll复制到a.dll。 或者将x.dll拆分为两个dll不

我们有一个dll文件;比如说X.DLL

我们现在正在编写另一个DLL,比如“A.DLL”,它使用了X.DLL的一些函数(很少)。我们无法访问X.DLL的源代码。此外,我们不希望将X.DLL与A.DLL一起提供给客户端

相反,我们希望将X.DLL封装在一个.DLL中,这样分发一个.DLL就足够了

有可能吗

谢谢你的帮助


新手编码器

使用所需函数将源代码从x.dll复制到a.dll。
或者将x.dll拆分为两个dll

使用所需函数将源代码从x.dll复制到a.dll。
或者将x.dll拆分为两个dll

不可能将一个dll封装为另一个。
如果您可以从X.DLL供应商处获得一个lib,并使用您的代码静态链接到它,则可能是一种解决方法。

黑客可能将X.DLL作为资源携带到DLL中,然后在运行时解包并加载

不可能将一个dll封装到另一个dll。
如果您可以从X.DLL供应商处获得一个lib,并使用您的代码静态链接到它,则可能是一种解决方法。
黑客可能将X.DLL作为资源携带到DLL中,然后在运行时解包并加载

ILMerge是一个用于合并的实用程序 将多个.NET程序集合并到一个 .NET程序集。它在可执行文件上工作 和DLL一样,并附带了几个 控制处理的选项 以及输出的格式。见 随附文件 细节

ILMerge是一个用于合并的实用程序 将多个.NET程序集合并到一个 .NET程序集。它在可执行文件上工作 和DLL一样,并附带了几个 控制处理的选项 以及输出的格式。见 随附文件 细节


你用c#标记了你的问题


如果这些都是托管程序集DLL,如果代码是c#,它们将是托管程序集DLL,那么您可以完全按照自己的意愿使用它。

您用c#标记了您的问题



如果这些是托管程序集DLL,如果代码是c#,则它们将是托管程序集DLL,那么您可以完全按照自己的意愿使用它们。

谢谢您的回答,但是我们无法访问x.dll的源代码。他们没有x.DLLops的源代码(抱歉)如果它是用任何.net语言编写的,您可以继续对其进行解译)您可以使用reflector来完成此操作。谢谢您的回答,但是我们无法访问x.dll的源代码。他们没有x.DLLops的源代码(抱歉)如果它是用任何.net语言编写的,您可以继续对其进行分解)您可以使用reflector进行此操作。出于兴趣,为什么不给他们x.dll?原因是我们不希望他们拥有x.dll中包含的所有功能。X.DLL和A.DLL将用于开发一些应用程序,我们希望它们的函数只包含在A.DLL中。是的,为什么不给它们.DLL呢?试图避免许可费?似乎X.DLL不是您编写的或您将拥有源代码。X.DLL不是我们编写的或我们可以访问源代码。但是我们有完全的许可证可以将它与我们的应用程序一起分发。出于兴趣,为什么不给他们X.DLL?原因是我们不希望他们拥有X.DLL中包含的所有功能。X.DLL和A.DLL将用于开发一些应用程序,我们希望它们的函数只包含在A.DLL中。是的,为什么不给它们.DLL呢?试图避免许可费?似乎X.DLL不是您编写的或您将拥有源代码。X.DLL不是我们编写的或我们可以访问源代码。但是我们有完全的许可证可以在我们的应用程序中发布它。对不起,尤利西斯,但这当然不是“不可能”。不明智,但并非不可能。这并非不可能,但需要发出字节码。您的eslf或类似代码取决于DLL的性质。如果它们是托管代码,ILMerge就可以做到这一点。如果不受管理,您将不得不大量使用Win32 LoadLibrary。当然,我没有注意c#标记。我在想一个windows原生的dllSorry ULysses,但这肯定不是“不可能的”。不明智,但并非不可能。这并非不可能,但需要发出字节码。您的eslf或类似代码取决于DLL的性质。如果它们是托管代码,ILMerge就可以做到这一点。如果不受管理,您将不得不大量使用Win32 LoadLibrary。当然,我没有注意c#标记。我在考虑一个windows原生DLLTANKS。我将试一试。我有一个场景,X.dll与.Net环境或Windows操作系统的更高版本不兼容。我们也没有X.dll的源代码。它仅在VB6.0环境中运行/注册。在这种情况下,我们希望嵌入此X.dll,并在vb6.0中创建一个与.Net兼容的新.dll。你知道这样一个任务的实用工具吗?谢谢。我将试一试。我有一个场景,X.dll与.Net环境或Windows操作系统的更高版本不兼容。我们也没有X.dll的源代码。它仅在VB6.0环境中运行/注册。在这种情况下,我们希望嵌入此X.dll,并在vb6.0中创建一个与.Net兼容的新.dll。你知道这样一个任务的实用程序吗?