在开发ASP.Net应用程序时,我反复收到此错误:
Cannot create/shadow copy 'XXXXX' when that file already exists
XXXXX是一个随机DLL。通常,DLL是Microsoft企业库中的DLL之一,但它有所不同。
这是非常随机的,而且非常令人沮丧。我会花几个小时没有收到错误,然后每10-20分钟得到一次这个错误。
我见过几种解决方案。例如,this question。我尝试过使用Clean Solution选项,我也只是重新启动了我的本地IIS。但是,它仍然以相同的随机但持续的频率发生。
我也看到很多人提到在配置文件中使用此选项:
<hostingEnvironment shadowCopyBinAssemblies="false" />
然而,其他人已经提到它存在问题,绝对不应该用于生产。
那么,我应该放弃并尝试使用shadowCopyBinAssemblies选项吗? (并确保不要将此更改复制到其他环境。)我是唯一经常遇到此问题的人吗?
注意:我正在使用Visual Studio 2008.
答案 0 :(得分:39)
在10-30秒之间等待并点击刷新。出于某种原因,这总是对我有用。
答案 1 :(得分:23)
以下变通方法来自this now defunct connect issue:
<hostingEnvironment shadowCopyBinAssemblies="false" />
添加到您的web.config文件的<system.web>
部分。将以下内容添加到预构建事件中:
IF EXIST $(TargetPath).LOCKED (del $(TargetPath).LOCKED) ELSE (IF EXIST $(TargetPath) (move $(TargetPath) $(TargetPath).LOCKED))
为我完成这项工作的解决方法是使用“Build”使用“Build Solution”而不是使用“Build”
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i
。这很可能对所有人都不起作用 - 这是一个复杂的问题。编辑:从an old version of the page检索的项目(由archive.org提供)。
答案 2 :(得分:5)
重新启动Visual Studio,这对我有用。
答案 3 :(得分:1)
打开项目属性,打开Web选项卡,确保未选中Enable Edit and Continue选项。
答案 4 :(得分:1)
在我的情况下,只有iisreset
有效。
答案 5 :(得分:0)
在使用我们创建的导入DLL时,我经常遇到此问题。
尝试停止发生失败,甚至引入了不同的问题,但无论什么时候发生,我都会做一个重建解决方案,问题会立即消失。
此外,自从使用Visual Studio 2002以来,我没有看到这个问题。2008年没有我所知道的这个问题,2005年也没有。你使用的是旧的VS吗?
答案 6 :(得分:0)
转到设计模式然后右键单击并在浏览器中点击视图,问题就会消失 Anil Madan
答案 7 :(得分:0)
在预构建事件命令行中添加这些行,它基本上解锁了Visual Studio中的DLL:
IF EXIST $(TargetPath).LOCKED (del $(TargetPath).LOCKED)
ELSE (IF EXIST $(TargetPath) (move $(TargetPath) $(TargetPath).LOCKED))
重新编译,无法复制DLL错误。
答案 8 :(得分:0)
如果您使用实体框架:
错误消息: 当该文件已存在时,“无法创建/卷影复制”。
<强>解决方案:强> “等待几秒钟刷新页面。”
有关详细信息,请访问:Advanced Entity Framework 6 Scenarios for an MVC 5 Web Application (12 of 12)
答案 9 :(得分:0)
我遇到了同样的问题,将此代码放在web.config中为我工作。
<hostingEnvironment shadowCopyBinAssemblies="false" />
答案 10 :(得分:0)
您只需刷新(F5)您的页面。
答案 11 :(得分:0)
清理并再次构建它。它帮助我,它经常为我工作