由于“试图访问未加载的AppDomain”,无法在VS中编译解决方案--如何确定它?

Cannot compile solution in VS due "Attempted to access an unloaded AppDomain" -- how to pin it down?

提问人:greenoldman 提问时间:11/3/2010 更新时间:4/25/2019 访问量:47508

问:

我在 VS (2008) 中有一个 C#/ASP.Net 解决方案,其中包含多个项目。当我尝试编译它时,我只收到一个错误:

尝试访问已卸载的 AppDomain

没有行代码,没有项目名称,什么都没有。只是这样的错误。

我怎样才能确定这个错误--即原因,或者更好的是--我怎样才能解决它并继续编译?

先谢谢你。

可视化工作室

评论


答:

2赞 Mazhar Karimi 11/3/2010 #1

有很多可能性:

  1. 尝试重置 Visual Studio 的 设置。

  2. 或检查所有 dll 引用。

  3. 检查所有命名空间 在您的应用程序中使用,请执行 它们存在吗?

评论

0赞 greenoldman 11/3/2010
谢谢。只是备注 (1) 其他解决方案编译得很好,(3) 当然,我在这些项目中有命名空间。
0赞 11/3/2010
您是否尝试重置 VS 设置?
0赞 greenoldman 11/9/2010
哦,对不起,是的,在(2)之后,我也重置了设置。但是,根本没有变化。
1赞 gimlichael 8/28/2012 #2

我在 Visual Studio 2012 中遇到了同样的情况 - 但仅限于 UNC 共享上托管的网站上。我的解决方案(当它发生时)是卸载 Web 项目并再次重新加载它。然后又工作了一段时间。

我记得的问题是,托管的 UNC 共享(或尝试访问它的工作站)运行的是 x86 版本的 Windows,它不允许许多开放的网络连接。

根据我的经验,这些问题在真正的 x64 环境中会消失。

干杯。

65赞 Amit Joki 1/24/2014 #3

关闭 Visual Studio 并重新打开它。然后清理 Temp 文件夹。

为此,请按 + 并键入并单击确定,然后删除所有内容。WindowsR%Temp%

评论

0赞 T.S. 12/8/2016
我今天第一次有了这个(在向前集成到私有分支后获得所有最新代码之后)。我正在使用批处理文件调用 devenv+arguments 进行构建。然后它打开日志文件,我得到了这个。我再次运行批处理,这次没有错误
0赞 mrTurkay 10/12/2015 #4

这意味着,WebConfig/AppConfig 中的某些内容不兼容并且无法加载。

例如。 İ如果您发布了项目,请选中app_data/发布配置文件,将其删除。

17赞 Hardik Mer 4/21/2016 #5

如果此错误随 VS 一起出现,请按照下列步骤操作

  1. 只需重新启动 VS。
  2. 再次启动 VS
  3. 清洁溶液 (Build> Clean Solution)
  4. 再次重新生成项目

如果 IIS 附带此错误

  • 在 IIS 管理器中重新启动(回收)IIS 应用程序池,重新启动检查后再次运行解决方案!
0赞 user7040213 10/19/2016 #6
  1. 如果 .sln 文件有冲突,请先检查它,然后将其删除并更新 svn 文件夹并重新生成解决方案。

  2. 重新生成解决方案

评论

0赞 Simon MᶜKenzie 10/19/2016
你能澄清一下你所说的“冲突”是什么意思吗?
0赞 T.S. 12/8/2016
解决方案文件与它无关。
-2赞 Samim Hussain 1/31/2017 #7

以下是我为摆脱此类错误而遵循的步骤-

  • 按 Windows+R ,写入 %Temp% 并按回车键。现在,从目录中删除所有临时文件。
  • 重新启动 Visual Studio。
  • 从 Visual Studio 列表项的“解决方案资源管理器”中清理项目解决方案。
  • 重新生成项目并运行。 它应该可以预期地工作。
0赞 Prasanth Louis 10/19/2017 #8

也有可能您的单元测试启动了一个线程,但没有关闭它。确保您的线程在完成之前全部关闭。 验证所有单元测试是否正确运行和通过可能是个好主意。

0赞 Tamilselvan K 4/25/2019 #9

从系统托盘中退出本地 Web 服务器 (IIS express) 并从临时文件夹中删除 asp.net 临时文件,然后尝试清理、重建和运行您的应用程序