【发布时间】:2011-06-02 08:25:35
【问题描述】:
我有一个包含多个项目(类库和 Web 应用程序)的 .net Visual Studio 解决方案。
我做了一些重构,在项目之间移动文件,创建新项目,删除未使用的项目并重命名一些现有项目。
解决方案构建没有问题,但是当我运行 Web 应用程序时,出现以下异常:
“无法加载文件或程序集 'XXX.YYY' 或其依赖项之一。系统找不到指定的文件。”
在折射中删除的名为XXX.YYY的项目输出了一个名为XXX.YYY的dll。但这并没有在应用程序的任何地方使用。我删除了 Web 应用程序 obj 目录和 bin 文件夹并重新构建,但仍然出现。
当这种情况发生时,任何人有任何想法,有什么提示吗??
更新:
更新我的问题。我将代码放置到另一台计算机上并从那里运行它,它成功构建并运行,没有发生此问题。所以这让我觉得问题出在我的电脑上,而不是代码库上。也许我的电脑上缓存了一些东西。我确实在“C:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files”删除了我的临时文件,但没有运气。
所以任何其他可以缓存的东西或任何其他原因导致它发生在我的电脑上。
进一步更新
关于此的另一个更新。我在其他开发人员机器上运行了相同的代码,他运行它没有问题。所以肯定是我机器上的东西!我们机器上唯一的不同是我在经典模式下使用应用程序池运行 IIS7。另一个开发者正在运行 IIS6。
2 篇关于信息的新文章。首先,在我的 web.config 中的 httpmodules 中,我必须先删除一个自定义 http 模块,然后再添加它。其他开发人员不必这样做。其次,我已经能够通过“hack”修复“无法加载文件或程序集'XXX.YYY'或其依赖项之一”问题,这只是通过在我的项目中创建一个名为XXX的类库的短期修复.YYY 并包括正在查找的类,它们都是自定义控件,即。继承自 System.Web.UI.WebControls.WebControl。
任何进一步的想法......
【问题讨论】:
-
您是否尝试过清理您的 ASP.NET 临时文件目录? C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files
-
@Harvey - 尝试删除临时文件但仍然没有成功
-
@jgritty 是的,我在 Web 应用程序的 bin 目录中的所有 dll 上都使用了反射器,但找不到对 XXX.YYY 的任何引用。
-
您是否尝试过在项目目录中使用 findstr 来查看谁引用了 xxx.yyy? cd ; findstr /I /S /L XXX.YYY - 你会在控制台上得到一些垃圾,因为至少有一个二进制文件会在其中引用该名称。如果垃圾太多,请进行 2 次通过,按照说明进行一次,在另一次通过时添加 /M 。请注意,/L 表示搜索是文字的。
-
好的...我现在非常好奇为什么会这样。 :) 1) 您是否在损坏的机器上运行了有效的防病毒软件?我希望不是赛门铁克或迈克菲。 :) 如果没有,请使用信誉良好的在线扫描仪之一,然后如果发现/修复了任何问题,请再次检查您的问题代码。 2)是否可以卸载受此问题影响的.Net运行时Visual Studio,然后重新安装?当第一个 .Net 运行时发布时,我们遇到了类似的问题,并找到了两种修复方法。 1是我描述的方法,2是完全重装windows、VS等...
标签: c# visual-studio exception dll filenotfoundexception