ASP.Net无法创建/卷影副本

dav*_*ase 41 asp.net assemblies web-config

我在开发ASP.Net应用程序时反复出现此错误:

  Cannot create/shadow copy 'XXXXX' when that file already exists
Run Code Online (Sandbox Code Playgroud)

其中XXXXX是随机DLL.通常,DLL是Microsoft企业库中的DLL之一,但它有所不同.

它真的是随机的,而且非常令人沮丧.我会花几个小时没有收到错误,然后每10-20分钟得到一次这个错误.

我见过几种解决方案.例如,这个问题.我尝试过使用Clean Solution选项,我也只是重新启动了我的本地IIS.但是,它仍然以相同的随机但持续的频率发生.

我也看到很多人提到在配置文件中使用这个选项:

<hostingEnvironment shadowCopyBinAssemblies="false" />
Run Code Online (Sandbox Code Playgroud)

然而,其他人已经提到它存在问题,绝对不应该用于生产.

那么,我应该放弃并尝试使用shadowCopyBinAssemblies选项吗?(并确保不要将此更改复制到其他环境中.)我是唯一经常遇到此问题的人吗?

注意:我使用的是Visual Studio 2008.

jos*_*ley 38

在10-30秒之间等待并点击刷新.出于某种原因,这总是对我有用.

  • 它起作用是因为这个问题的主要原因是在VS中完成构建过程之前尝试访问网页. (2认同)

dax*_*ito 23

以下解决方法来自此现已解散的连接问题:

  • 添加<hostingEnvironment shadowCopyBinAssemblies="false" /><system.web>web.config文件的部分.
  • 遇到问题后重新启动Cassini
  • 如果出现错误,请停止调试器,右键单击解决方案并"清除解决方案".按F5重新启动调试器.这真的很烦人,因为它对我有50%以上的失败率,你会认为应该没有CLEAN SOLUTION的手动选项!这个1200美元的POS应用程序应该自动清理它!
  • 这是另一种可能对某些人更有吸引力的解决方法,由Gary Farr提供(http://blogs.claritycon.com/blogs/gary_farr/archive/2007/03/09/2888.aspx).
  • 将以下内容添加到预构建事件中:

    IF EXIST $(TargetPath).LOCKED (del $(TargetPath).LOCKED) ELSE (IF EXIST $(TargetPath) (move $(TargetPath) $(TargetPath).LOCKED))

  • 为我完成工作的解决方法是使用"Build"使用"Build Solution"而不是使用"Build"

  • 成功构建后,我数到十,然后刷新我的webform.
  • 我发现通过重新注册ASP.NET对IIS,问题"消失" - 我从那以后就没有问题了.您需要在命令行上运行以下命令:
    C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i.这很可能对所有人都不起作用 - 这是一个复杂的问题.
  • 重启VS.
  • 清理解决方案时,会发出一些有关无法删除的文件的警告.这些文件具有只读属性集.将这些文件的属性设置为读/写后,问题就解决了.
  • 重启IIS

编辑:旧版本的页面检索的项目(由archive.org提供).

  • 谢谢你的链接,但进行了一些筛选.对我有用的那个是"在成功构建之后,我数到十,然后我刷新我的网络形式." (虽然我只算到2) (14认同)

Ayo*_*ina 5

只需重新启动Visual Studio,这对我有用.