Vb.net 强制项目加载DLL';从当前目录中删除

Vb.net 强制项目加载DLL';从当前目录中删除,vb.net,dll,load,directory,project,Vb.net,Dll,Load,Directory,Project,我试图通过强制加载并使用当前目录中的DLL,而不是windows目录中的DLL,使程序在每个操作系统上都能工作,但它不工作。我尝试启用“复制本地”并更改引用路径,但没有成功,程序尝试从windows目录加载DLL。 我的问题是:如何修复此问题?目录%windir%\assembly称为。程序集不会复制到那里,但通常使用gacutil/i或安装包进行安装 GAC是一个合适的文件夹,可供构建版本中许多其他库和应用程序引用,这些库和应用程序不是集中协调的。通过使用GAC,您可以拥有同一库的多个版本,即

我试图通过强制加载并使用当前目录中的DLL,而不是windows目录中的DLL,使程序在每个操作系统上都能工作,但它不工作。我尝试启用“复制本地”并更改引用路径,但没有成功,程序尝试从windows目录加载DLL。
我的问题是:如何修复此问题?

目录
%windir%\assembly
称为。程序集不会复制到那里,但通常使用
gacutil/i
或安装包进行安装

GAC是一个合适的文件夹,可供构建版本中许多其他库和应用程序引用,这些库和应用程序不是集中协调的。通过使用GAC,您可以拥有同一库的多个版本,即使是单个应用程序在系统上并排安装,也可能间接需要所有这些版本。NET框架本身就是一个很好的例子

您构建的程序集可能不是那种类型。基本上属于单个应用程序一部分的应用程序程序集和库不应提交给GAC,否则您可能会遇到麻烦。存在各种可能的故障:

  • 一个用户意外或故意创建具有相同版本号的同一库的不同(不兼容)版本
  • GAC中的程序集引用不在GAC中的程序集
  • 一个应用程序将同一程序集安装到GAC中,但另一个应用程序希望从其本地文件夹(应用程序二进制文件驻留的地方)加载该程序集

加载程序集时,GAC中的代码将获得首选项。要从GAC中删除程序集,请使用
gacutil/u

DLL的搜索顺序为。它还包括有关如何修改搜索顺序的说明,以便首先搜索本地bin目录,而不是GAC。

您是指windows目录,而不是GAC?例如,这些是非托管DLL吗?我的意思是,如何使程序使用当前目录中的DLL引用(调试)