Я создал новое веб-приложение ASP.NET Core .NET Framework. Я использую .NET Framework 4.5.2. Я нажимаю правой кнопкой мыши на проекте и выбираю публикацию, чтобы опубликовать проект в Azure с помощью Web Deploy. Первая попытка проваливается «Отсутствует корневой элемент» или что-то в этом роде. Вторая попытка удалась. Но каждый раз, когда я пытаюсь опубликовать проект на сайт приложения в Azure, после этого я получаю сообщение об ошибке:Веб-развертывание не может изменить файл «xxx.exe» в пункте назначения, поскольку он заблокирован внешним процессом
Веб-развертывание не может изменить файл «xxx.exe» в пункте назначения, поскольку он заблокирован внешним процессом.
Почему это?
Я не могу найти решение этого вопроса ... Невозможно ли опубликовать ASP.NET Core Web Application (.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%" ]
}
}
Действительно ли это необходимо? Чтобы остановить мое веб-приложение для работы со многими одновременными пользователями/посетителями и опубликовать новую версию ... Похоже на очень плохую идею ... Microsoft решила много отличных вещей, открыла все, сделала ее кросс-платформой, сделала ее самостоятельно etcetc ... Но сбой на последнем шаге, вы не можете опубликовать свое законченное приложение для azure ....? –
В качестве альтернативы вы можете публиковать в промежуточном слоте и своп-постановке с постановкой. – Milen