C# 如何在不安装第三方DLL的情况下使用它

C# 如何在不安装第三方DLL的情况下使用它,c#,.net,visual-studio,gac,C#,.net,Visual Studio,Gac,我正在Visual Studio中开发一个软件。我需要使用AutoIt DLL,但它只允许我在安装AutoIt软件时使用这些DLL。如何在程序中使用DLL而不安装软件?奇怪的是,这个问题没有得到回答。AutoIt既是一个独立的自动化应用程序,也是一个可以导入VS项目的程序集 我在VS和C#中使用AutoIt,因为我用Selenium测试的站点没有直接的http身份验证。使用AutoIt,我可以访问浏览器中的登录提示 下载包含以下文件的zip文件: AutoItX3.Assembly.dll Au

我正在Visual Studio中开发一个软件。我需要使用AutoIt DLL,但它只允许我在安装AutoIt软件时使用这些DLL。如何在程序中使用DLL而不安装软件?

奇怪的是,这个问题没有得到回答。AutoIt既是一个独立的自动化应用程序,也是一个可以导入VS项目的程序集

我在VS和C#中使用AutoIt,因为我用Selenium测试的站点没有直接的http身份验证。使用AutoIt,我可以访问浏览器中的登录提示

下载包含以下文件的zip文件:

AutoItX3.Assembly.dll
AutoItX3.dll
AutoItX3_x64.dll
(我目前没有使用_x64DLL,但我已经包含了它。)

在VS项目中

  • 将程序集引用添加到AutoItX3.assembly.dll
  • 添加一个现有项:AutoItX3.dll(如果要使用该项,请使用AutoItX3_x64.dll)(在属性中将其设置为“更新时复制”)
  • 在类中添加以下using指令:using AutoIt
在我的示例中,我使用以下代码访问登录提示:

AutoIt.AutoItX.WinActivate("Authentication Required");
AutoIt.AutoItX.Send("User");
AutoIt.AutoItX.Send("{TAB}");
AutoIt.AutoItX.Send("Password");
AutoIt.AutoItX.Send("{ENTER}");

“它只允许我在…”是什么意思?它在未安装时做什么?可能是dll的某些依赖项,甚至是dll的某些依赖项,需要通过注册才能使用regsvr@Spawn我相信代码可以调用regsvr,谁知道什么是“AutoIt”它可以将文件和注册表设置放在任何功能运行所需的所有位置。有些DLL是自包含的,您可以直接使用,而另一些DLL后面有很大的依赖链。当您试图在未正确安装的情况下使用它时,您会看到什么样的问题?DLL是什么?COM DLL?程序集.DLL?是否允许您在不安装软件的情况下使用DLL?