ASP.Net不能创build/影子副本

开发ASP.Net应用程序时,我重复得到这个错误:

Cannot create/shadow copy 'XXXXX' when that file already exists 

其中XXXXX是一个随机的DLL。 通常,DLL是微软企业库中的一个DLL,但它有所不同。

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

我见过几个解决scheme。 比如这个问题 。 我试过使用清洁解决scheme选项,我也简单地重新启动我的本地IIS。 但是,它仍然以相同的随机但持续的频率出现。

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

 <hostingEnvironment shadowCopyBinAssemblies="false" /> 

然而,其他人提到这是有问题的,绝对不能用于生产。

那么,我应该放弃并尝试shadowCopyBinAssemblies选项吗? (并且不要把这个改变复制到其他环境中。)我是唯一经常遇到这个问题的人吗?

注意:我正在使用Visual Studio 2008。

下面的解决方法来自这个现在不存在的连接问题 :

  • 添加<hostingEnvironment shadowCopyBinAssemblies="false" />到你的web.config文件的<system.web>部分。
  • 当你遇到问题时重新启动卡西尼
  • 如果出现错误,请停止debugging器,右键单击解决scheme并select“清理解决scheme”。 按F5重新启动debugging器。 这真的很烦人,因为它有> 50%的失败率,你会认为不应该有一个手动的select清洁解决scheme! 这1200美元的POS应用程序应该自动清理它!
  • 这里有另一个解决办法,可能会更加吸引一些,加里·法尔的礼貌( 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解决scheme”

  • 成功构build后,我数到十,然后我刷新我的表单。
  • 我发现,通过重新注册IIS对IIS的问题“消失” – 我从来没有问题。 您需要在命令行上运行以下命令:
    C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i 。 这很可能不适合每个人 – 这是一个复杂的问题。
  • 重启VS.
  • 清理解决scheme时,会发出一些关于无法删除的文件的警告。 这些文件具有只读属性集。 设置这些文件的属性为读/写后,问题就解决了。
  • 重新启动IIS

编辑:从旧版本的页面检索项目(礼貌archive.org)。

等待10-30秒之间,刷新。 出于某种原因,这总是适合我。

只需重新启动Visual Studio,为我工作。

打开您的项目属性,打开Web选项卡,并确保未启用“编辑并继续”选项。

在我的情况下,只有iisreset工作。

使用我们创build的导入的DLL时,我经常遇到这个问题。

试图停止发生失败,甚至引入了不同的问题,但每当发生,我只是做一个重build解决scheme,这个问题会立即消失,build设。

另外,从Visual Studio 2002开始,我还没有看到这个问题。2008年我没有遇到过这个问题,2005年也没有。你使用的是VS吗?

转到devise模式,然后右键单击并在浏览器中点击查看,问题将消失Anil Madan

在预生成事件命令行中添加这些行,基本上在Visual Studio中解锁DLL:

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

重新编译和您无法复制DLL错误将不会发生。

如果你使用entity framework:

错误消息: “该文件已存在时,无法创build/影子副本”。

解决scheme: “等几秒钟,刷新页面。”

有关更多信息,请访问: MVC 5 Web应用程序的高级entity framework6scheme(12/12)

我得到同样的问题,把这个代码放在一个web.config为我工作。

 <hostingEnvironment shadowCopyBinAssemblies="false" /> 

你只需刷新(F5)你的页面。

清理并再次构build。 它帮助我,它经常为我工作