Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/262.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 奇怪的ASP.NET临时dll文件NotFoundException!_C#_.net_Asp.net_Iis - Fatal编程技术网

C# 奇怪的ASP.NET临时dll文件NotFoundException!

C# 奇怪的ASP.NET临时dll文件NotFoundException!,c#,.net,asp.net,iis,C#,.net,Asp.net,Iis,我在开发ASP.NET网站时遇到了一个奇怪的问题 事实: 该项目是一个“网站”而不是web应用程序 应用程序池在“本地系统”下运行 IIS 7.0正在使用中 通过终止iis工作进程或重新启动iis,问题消失了 我从随机位置随机得到以下错误 Could not find file 'C:\Windows\TEMP\rksbjov5.dll'. where each time dll name is something random. 以前有人有过这个问题吗?有解决办法吗?或者为什么会发生这

我在开发ASP.NET网站时遇到了一个奇怪的问题

事实:

  • 该项目是一个“网站”而不是web应用程序
  • 应用程序池在“本地系统”下运行
  • IIS 7.0正在使用中
  • 通过终止iis工作进程或重新启动iis,问题消失了
我从随机位置随机得到以下错误

Could not find file 'C:\Windows\TEMP\rksbjov5.dll'.

where each time dll name is something random.

以前有人有过这个问题吗?有解决办法吗?或者为什么会发生这种情况?

这是一个已知的问题

这是因为当你在VisualStudio中调试一个网站的时候,你总是在调试过程中做了一半,然后停止,所以内存泄漏会发生,然后文件会被随机锁定,然后会发生重建,而不是所有的东西都会被重建

执行IIS重置,然后清除文件夹C:\windows\microsoft.net\your framework version\temp asp.net files中的asp.net临时文件\

如果没有iis重置,您将无法删除所有这些文件

这只是visual studio和IIS之间不理想集成的一个迹象。。。这就是为什么VisualStudio自带了自己的web服务,您可以使用它,因为每次重建时,服务器都会被删除,应用程序会重新编译,服务会重新启动,应用程序/站点会重新加载到新的web服务中

这是一个特别恼人的问题,当您使用db连接,并且在代码块中断之前不关闭它们(通常在调试时发生)时,请将其视为与调用gc.colect几乎相同,而实际上尚未为垃圾收集标记任何内容


我知道这很烦人。

您是否尝试过更改应用程序池的用户。该临时dll可能是您自动生成的dll,每次都会更改。可能由于某种原因,编译器无法在使用该文件时写入该文件。可能是用户权限的问题。我做到了,正如我在问题中提到的,应用程序池在“本地系统”下运行,这是我机器上的绝对上帝!编译时,可能由于本地系统正在使用DLL而无法将其复制到目标?