Веб-развертывание не может изменить файл xxx.exe в месте назначения, поскольку он заблокирован внешним процессом

Я создал новое веб-приложение ASP.NET Core (.Net Framework) в Visual Studio. Я использую .NET Framework 4.5.2. Я щелкаю проект правой кнопкой мыши и выбираю «Опубликовать», чтобы опубликовать проект в Azure с помощью веб-развертывания. Первая попытка не удалась "Отсутствует корневой элемент" или что-то в этом роде. Вторая попытка удалась. Но каждый раз, когда я пытаюсь опубликовать проект на сайте приложения в Azure, после этого я получаю сообщение об ошибке:

Веб-развертывание не может изменить файл «xxx.exe» в месте назначения, поскольку он заблокирован внешним процессом.

Почему это?

Я не могу найти решение этой проблемы ... Разве нельзя опубликовать веб-приложение ASP.NET Core (.Net Framework) в Azure самыми простыми / обычными способами публикации?

Мой project.json выглядит так:

    {
  "dependencies": {
    "AutoMapper": "3.2.1",
    "Dropbox.Api": "3.4.0",
    "EnterpriseLibrary.TransientFaultHandling": "6.0.1304",
    "EntityFramework": "6.1.3",
    "Klarna.Net.Api": "4.0.0",
    "Microsoft.AspNetCore.Mvc": "1.1.0",
    "Microsoft.AspNetCore.Routing": "1.1.0",
    "Microsoft.AspNetCore.Server.IISIntegration": "1.1.0",
    "Microsoft.AspNetCore.Server.Kestrel": "1.1.0",
    "Microsoft.Azure.DocumentDB": "1.10.0",
    "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.1.0",
    "Microsoft.Extensions.Configuration.FileExtensions": "1.1.0",
    "Microsoft.Extensions.Configuration.Json": "1.1.0",
    "Microsoft.Extensions.Logging": "1.1.0",
    "Microsoft.Extensions.Logging.Console": "1.1.0",
    "Microsoft.Extensions.Logging.Debug": "1.1.0",
    "Microsoft.Extensions.Options.ConfigurationExtensions": "1.1.0",
    "PDFsharp": "1.32.3057",
    "RavenDB.Client": "2.5.2910",
    "SaasKit.Multitenancy": "1.1.4",
    "Stripe.net": "6.0.1",
    "IdentityServer4.AccessTokenValidation": "1.0.1-rc5",
    "Newtonsoft.Json": "9.0.1",
    "Microsoft.AspNetCore.Cors": "1.1.0",
    "Microsoft.AspNetCore.Diagnostics": "1.1.0",
    "Microsoft.AspNetCore.StaticFiles": "1.1.0",
    "Swashbuckle": "6.0.0-beta902"
  },

  "tools": {
    "Microsoft.AspNetCore.Server.IISIntegration.Tools": {
      "version": "1.1.0-preview4-final",
      "imports": "portable-net45+wp80+win8+wpa81+dnxcore50"
    }
  },

  "frameworks": {
    "net452": {
      "dependencies": {
        "Adocka.Common": {
          "target": "project"
        },
        "Adocka.Core": {
          "target": "project"
        },
        "Adocka.Core.Dto": {
          "target": "project"
        },
        "Adocka.Dal": {
          "target": "project"
        }
      }
    }
  },

  "buildOptions": {
    "emitEntryPoint": true,
    "preserveCompilationContext": true,
    "xmlDoc": true
  },
  "publishOptions": {
    "include": [
      "wwwroot",
      "**/*.cshtml",
      "appsettings.json",
      "web.config"
    ]
  },
  "runtimeOptions": {
    "configProperties": {
      "System.GC.Server": true
    }
  },
  "scripts": {
    "postpublish": [ "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" ]
  }
}

person Mattias Engman    schedule 22.12.2016    source источник


Ответы (1)


Обычно это происходит, если вы уже опубликовали свое приложение и оно работает, поэтому вы получаете сообщение об ошибке.

При развертывании сначала остановите веб-приложение (на портале Azure выберите веб-приложение и нажмите кнопку «Стоп»), выполните развертывание и запустите его снова. Вы также можете автоматизировать процесс с помощью сценария PowerShell.

person Milen    schedule 22.12.2016
comment
Это действительно нужно ?? Чтобы остановить мое производственное веб-приложение с множеством одновременных пользователей / посетителей и опубликовать новую версию ... Звучит как очень плохая идея ... Microsoft решила много замечательных вещей, открыла все ресурсы, сделала его кроссплатформенным, сделала его самостоятельно размещенным etcetc ... Но сбой на последнем шаге, вы не можете опубликовать готовое приложение в лазурном ....? - person Mattias Engman; 22.12.2016