gpt4 book ai didi

c# - "Could not load file or assembly ' XXX.YYY ' or one of its dependencies. The system cannot find the file specified."

转载 作者:太空狗 更新时间:2023-10-29 17:49:58 24 4
gpt4 key购买 nike

我有一个包含多个项目(类库和 Web 应用程序)的 .net visual studio 解决方案。

我做了一些重构,在项目之间移动文件、创建新项目、删除未使用的项目并重命名一些现有项目。

解决方案构建没有问题,但是当我运行 web 应用程序时,出现以下异常:

“无法加载文件或程序集‘XXX.YYY’或其依赖项之一。系统找不到指定的文件。”

名为XXX.YYY 的项目在重构中被删除,输出了一个名为XXX.YYY 的dll。但这并没有在应用程序的任何地方使用。我删除了 web 应用程序 obj 目录和 bin 文件夹并重建,但它仍然出现。

任何人都知道什么时候会发生这种情况,有任何提示吗??

更新:

更新我的问题。我将代码放置到另一台计算机上并从那里运行它,它成功构建并运行而没有发生此问题。所以这让我认为问题出在我的 PC 而不是代码库。也许我的电脑上缓存了一些东西。我确实删除了位于“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。

任何进一步的想法....

最佳答案

有两个可能的原因。

1) 当你运行你的 webapp 时,你仍然在你机器上的某个地方使用旧的程序集。您的旧程序集引用了旧程序集“XXX.YYY”。

2) 您构建的最新二进制文件仍在引用旧程序集“XXX.YYY”。

要找出您的 Web 应用程序使用的程序集,如果您正在运行调试器,则可以从输出窗口中轻松找到它。它应该是输出的前几行。另一种方法是在调试期间在 VS.NET IDE 中打开模块窗口。

如果由于某些原因您无法调试它或者您在附加调试器时遇到问题,另一种更简单的方法是使用 fuslogvw .它为您提供了所有成功加载的程序集以及未能加载的程序集的确切位置。请确保您在 Windows 7 中以管理员身份运行 fuslogvw。

在您找出您的 webapp 成功加载了哪些程序集之后,您可以对这些程序集执行 ildasm 以查看它们正在引用哪些程序集。很遗憾,您需要一一检查。

我的猜测是,您成功加载的一些程序集实际上来自 ASP.NET 缓存或 GAC 中的某处。

关于c# - "Could not load file or assembly ' XXX.YYY ' or one of its dependencies. The system cannot find the file specified.",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4576221/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com