由于VS2017中的锁定文件,无法发布ASP.Net Razor应用程序

时间:2017-12-21 21:01:07

标签: c# asp.net visual-studio razor

我有一个ASP.Net Razor网站,我在过去几年里一直在增强并成功发布到我们的内部网。我最近开始使用VS2017没有任何问题。今天,当我尝试发布它时遇到错误:

Error       Copying file .vs\ETF\v15\Server\sqlite3\db.lock to C:\Users\myId\AppData\Local\Temp\WebSitePublish\mySite-1436350714\obj\Debug\Package\PackageTmp\.vs\ETF\v15\Server\sqlite3\db.lock failed. The process cannot access the file '.vs\ETF\v15\Server\sqlite3\db.lock' because it is being used by another process.

我尝试重新启动计算机并在.vs \ ETF \ v15 \ Server \ sqlite3文件夹中重命名 db.lock ,但是当我在VS中启动项目并尝试再次发布时,它重新创建 db.lock 文件(带有当前时间戳),并给我相同的错误。我在应用程序中使用SQL Server,但不知道 sqlite3 引用的来源。此外,目标目录中没有 db.lock 文件。

任何想法都会受到高度赞赏,因为我的在线搜索毫无结果。

3 个答案:

答案 0 :(得分:5)

从Visual Studio 2015 Pro更新到Visual Studio 2017社区后,我遇到了这个问题。我还在升级中更换了PC。我发现解决方案是没有隐藏.vs文件夹。更改为整个文件夹和子文件夹隐藏的属性,这应该可以解决您的问题。

enter image description here

答案 1 :(得分:1)

需要在您的发布配置文件(blabla.pubxml文件)中添加此行:

<ExcludeFoldersFromDeployment>.vs</ExcludeFoldersFromDeployment>

类似以下内容:

<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    ...
    <ExcludeFoldersFromDeployment>.vs</ExcludeFoldersFromDeployment>
    ...
  </PropertyGroup>
</Project>

答案 2 :(得分:0)

要解决此问题,只需在发布配置文件设置中取消选中“允许预编译站点可更新”选项。然后我关闭了VS,并删除了.VS / project名称文件夹。启动VS备份并发布了Web应用。