繁体   English   中英

使用AppVeyor部署.NET Core应用程序:由外部进程锁定的文件(Appveyor代理)

[英]Deploy a .NET Core application with AppVeyor: file locked by external process (Appveyor agent)

我正在尝试使用Appveyor代理在服务器上部署项目。 但是,如果我在部署之前没有重新启动或停止应用程序,则它不起作用。

Web Deploy cannot modify the file 'TestProject.Application.dll' on the destination because it is locked by an external process.  In order to allow the publish operation to succeed, you may need to either restart your application to release the lock, or use the AppOffline rule handler for .Net applications on your next publish attempt.  Learn more at: http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_FILE_IN_USE.

有没有一种简单的方法来处理app_offline.htm文件? 使用“app_offline”功能的appveyor.yml配置在这种环境中不起作用。

我在“之前/之后”部分寻找一些东西。 这是我的appveyor.yml:

version: '1.0.{build}'
os: Visual Studio 2015

install:
- "SET PATH=C:\\Program Files\\dotnet\\bin;%PATH%"

branches:
  only:
  - master

assembly_info:
  patch: true
  file: '**\AssemblyInfo.*'
  assembly_version: '{version}'
  assembly_file_version: '{version}'
  assembly_informational_version: '{version}'

build_script:
- nuget sources add -name "VNext" -source https://dotnet.myget.org/F/cli-deps/api/v3/index.json
- nuget sources add -name "nugetv3" -source https://api.nuget.org/v3/index.json
- dotnet restore
- dotnet build */*/project.json

after_build:
- ps: Remove-Item -Path src\TestProject.Web\web.config
- ps: Move-Item -Path src\TestProject.Web\web.$env:APPVEYOR_REPO_BRANCH.config -Destination src\TestProject.Web\web.config
- dotnet publish src\TestProject.Web\  --output %appveyor_build_folder%\publish 

artifacts: 
- path: .\publish 
  name: TestProject.Web 

test: off

deploy:
  - provider: Environment
    name: east-webhost
    artifact: TestProject.Web    
    remove_files: false
    on:
      branch: master

请查看部署脚本之前/之后 另请查看此示例 ,了解如何确保发布该文件。

--ilya。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM