Asp.net &引用;FileNotFoundException“;由于“";”引发异常;复制本地=false";
我有大约20个解决方案,每个解决方案有5-10个项目,它们相互引用,还有一些第三方库。我有一个输出文件夹,它们都是构建的。因此,我不想拥有被引用的每个程序集的任何副本(这就是需求所在)。因此,对于其中一个项目中的每个引用,我都将Copy local设置为false,并且它在编译时没有抛出错误。但在运行时,它抛出了FileNotFoundException,说“无法加载文件或程序集'X'或其依赖项之一。系统找不到指定的文件。”正如我在和线程中所读到的,您可以指定CLR要搜索的路径,但它们必须是应用程序基文件夹的子文件夹,而且因为我有10个windows服务,这意味着我必须复制每个服务的基本文件夹中引用的程序集(这不是重点) 我注意到的一件事是,当项目A引用了项目B时,不仅复制了B.dll,而且还复制了C.dll(从B引用)、D.dll等。奇怪的是,当我将引用B的Copy local设置为false,并删除了B.dll的副本时,没有问题——它设法在输出目录中找到它,但是当我删除C.dll(或D.dll)的副本时,问题就出现了。因此,我将项目B中的C引用的Copy local设置为false,但没有帮助 有人知道为什么会发生这种情况吗?你必须:Asp.net &引用;FileNotFoundException“;由于“";”引发异常;复制本地=false";,asp.net,visual-studio,filenotfoundexception,copy-local,Asp.net,Visual Studio,Filenotfoundexception,Copy Local,我有大约20个解决方案,每个解决方案有5-10个项目,它们相互引用,还有一些第三方库。我有一个输出文件夹,它们都是构建的。因此,我不想拥有被引用的每个程序集的任何副本(这就是需求所在)。因此,对于其中一个项目中的每个引用,我都将Copy local设置为false,并且它在编译时没有抛出错误。但在运行时,它抛出了FileNotFoundException,说“无法加载文件或程序集'X'或其依赖项之一。系统找不到指定的文件。”正如我在和线程中所读到的,您可以指定CLR要搜索的路径,但它们必须是应用
- 将它们保存在GAC中,这样每个应用程序都可以找到引用的程序集李>
- 为AppDomain.AssemblyResolve实现一个事件处理程序,以便自己查找程序集李>
- 将生成脚本中的所有程序集复制到正确的文件夹,或使用一个中心文件夹