Exception during publishing web app to Azure - azure

We have created a sample Asp.net Core application. When we tried to publish the application into Azure we got following exception.
Web deployment task failed. (The type initializer for 'Microsoft.Web.Deployment.DeploymentManager' threw an exception.)
We have tried some solutions posted in some blogs but none got the issue resolved.

Here are some ways you could try:
1.Look for a key in the registry under the following paths that points the the problem assembly and delete it:
HKLM\Software\Microsoft\IIS Extensions\msdeploy\3\extensibility
HKLM\Software\Wow6432Node\Microsoft\IIS Extensions\msdeploy\3\extensibility
The problem registry key is installed by SQL.
2.Reinstall Web Deploy 3.5.
3.Uninstall dbsqlpackage provider . this packages no longer support.
4.Restarted Visual Studio and rebuilt the project.
For more details, you could refer to this thread.

It sounds like you are trying to create a web job and publish it to a App Service in Azure. To do this you have to create a Azure WebJob project type in visual studio. To get this project type in VS you have to install it or download it using nuget.

Installing "Web Deploy 3.5" extension helped me solve this issue.
https://www.iis.net/downloads/microsoft/web-deploy

Related

Visual studio cant publish asp.net core project to azure

I was following this article for deploying a ASP.NET Core 3.1 MVC project: https://learn.microsoft.com/tr-tr/aspnet/core/tutorials/publish-to-azure-webapp-using-vs?view=aspnetcore-3.1
I did everything there but it fails with a "An error occurred..." error. See the screenshot for details.
Since I am a begginer at both web development and deployment stuff please excuse my question here, I have tried to search it and couldnt apply a solution.
I have tried to change webdeploy user password in lusrmgr.msc in here: Web deployment task build failed
but since my os is windows home i couldnt be able to use it.
Also when clicking validate connection button in publish summary I got an error there too.
Screenshots:

Asp.Net Core 2.0 on Azure results in a 502.5

I have a small web app developed with Asp.Net Core 1.1 deployed on Azure and it works well. I just migrated the project to use Asp.Net Core 2.0 and tried to deploy it on Azure. The deployment went fine but when I open the site, I get a 502.5 error. When I check my Azure log stream, I get the following error:
This error occurs when a CGI application does not return a valid set
of HTTP headers, or when a proxy or gateway was unable to send the
request to a parent gateway. You may need to get a network trace or
contact the proxy server administrator, if it is not a CGI problem.
Useless to say that it works well on my development machine with the same code. Note that I'm also using Entity Framework Core 2.0 although I deactivated the database creation on Azure (to check if it was not the cause).
For information, the way I migrated from 1.1 to 2.0 is by changing the target framework settings to "netcoreapp2.0" and by using the NuGet package "Microsoft.AspNetCore.All". Just to be sure, I also deleted my publish profile and recreate one.
Is it possible that Asp.Net Core 2.0 is not yet available on Azure ? I'm fairly new to Asp.Net Core, so I don't know when new releases are made available on Azure.
EDIT
When I try to run my app with dot net CLI via the debug console as proposed by natemcmaster, I got the following issue:
Unhandled Exception: System.IO.FileLoadException: Could not load file
or assembly 'Microsoft.AspNetCore.Hosting.Abstractions,
Version=2.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60'.
The located assembly's manifest definition does not match the assembly
reference. (Exception from HRESULT: 0x80131040)
I downloaded the DLL on my desktop and check the version with Dot Net Peak and indeed, the DLL is 1.1.2, although I created the project with Visual Studio and directly publish it, so is it an issue with Visual Studio ? Or Nuget ?
the issue was actually coming from the fact that, at first, my web app was using .net core 1.1, which deploys all the DLL in the "wwwroot" folder of the web application. However, with asp.net core 2.0, it does not do that anymore as the DLL are picked up from a global store. However, as Visual Studio does not clean the destination folder before a publish, I ended up with a situation where the 1.1 DLL were in my wwwroot, so the web site was picking up these ones instead of the 2.0 ones in the store folder.
This is explained in more details here: https://github.com/Azure/app-service-announcements-discussions/issues/2#issuecomment-313816550
Others have explained the reason why this is happening. I'd like to provide another – arguably easier – solution to the problem.
Just change the settings so that you remove files that are already on Azure – see below:
Check for log files either in the portal or by remotely accessing D:\home\LogFiles.
Sometimes, the logs won't indicate what is going wrong. Another good way to investigate further is to try launching your ASP.NET Core app from the Debug Console. If you are missing a shared framework version or there is another startup error, this will be more visible from the Debug Console.
Go to
https://(your web site name here).scm.azurewebsites.net/DebugConsole/
Your site will be in D:\home\site\wwwroot. You can launch it by executing:
cd D:\home\site\wwwroot
dotnet MyWebApp.dll
If you app still fails to launch, make sure that D:\home\site\wwwroot\web.config is available and configured to use ASP.NET Core Module. https://learn.microsoft.com/en-us/aspnet/core/hosting/aspnet-core-module
In my case, It was caused by having a space in the Project Name.
I can readily add a space, publish => 502.5.
Remove space, publish => good to go.
Hard to believe but I am duplicating it readily with above.
Also using "Remove Additional Files at Destination" per #Sam's Answer
See https://github.com/Azure/app-service-announcements/issues/14
"The rollout is expected to complete by Friday June 30th."
In my case the issue occurred because AppService at that time supported 2.0.0-preview2-006497 but I had 2.0.0-preview3-006890 installed which was used on build.
So I added global.json to use preview 2 SDK and it worked then
I don't know if this could help someone one day but in my case, I was using :
-Microsoft.AspNetCore.All 2.0.5
Downdrage to Microsoft.AspNetCore.All 2.0.3 resolve my problem
This happens when your version of ASP.NET Core cannot be matched on the server.
The simplest solution is to change your settings to deploy the app as self-contained, so it doesn't matter if Azure can match the framework version. Also, delete the files already on Azure, so you don't have issues when upgrading, as explained by #Sam.

Azure Cloud Service error when deploying against v4.6.1

I am having a new issue when deploying Azure Cloud Services via Visual Studio 2015 SP1.
This is driving me up the wall and I am curious if anybody else has seen this? Basically, I can build just fine, I just can't package for or publish to a Cloud Service - the error is:
CloudServices232: The role MyProject.AsyncWorker is using an unsupported TargetFrameworkVersion v4.6.1.
This wasn't happen a few weeks ago, but now I can't publish it. Yes I am targeting .NET 4.6.1 - but that has been WORKING JUST FINE for a while now and I followed all the steps to run install.cmd and manually deploy it.
This appears to be a new build-time error (it used to be a warning).

The Windows Azure SDK for .NET must be installed

I'm trying to publish my app to Azure which I have done several times before. For some reason I'm now getting the following error:
The Windows Azure SDK for .Net must be installed to enable publishing
to Windows Azure. LightSwitch will load a web page to begin
installation.
It loads a web page, downloads V11AzurePack_1_8_1.exe which in turn runs the Web Platform Installer 4.6 which in turn installs Windows Azure SDK Tools 1.8.1 for Visual Studio 2012. All of this succeeds. But going back and attempting to Publish results in the same error.
I noticed that there is a Windows Azure SDK for .Net (VS 2012) - 2.2 in the WPI. So I installed that manually, tried to publish, same result.
The SDK is clearly installed:
So why can't I publish to Azure? The only thing that looks like it might be a problem is that I have LightSwtich Azure Publishing 1.1 add-on for Visual Studio 2012 installed and I know there is a newer version of that available. But I can't find a direct download nor can I find a way to uninstall that package or force WPI to suggest an update.
Uninstalling everything Azure related (except the LightSwitch add-on as that seems to be unremovable and un-upgradeable), rebooting, and installing only the latest SDK produces the same problem.
After following a moderator's advice to repair Visual Studio on the forum, I was no longer able to open my project at all. I waited for a response but got none. So I decided to reinstall Visual Studio all together.
I followed this and this in order to remove as much of Visual Studio as possible and then reinstalled. I then installed Update 4 and was again able to open my project.
However, upon trying to publish, the same error was encountered.
I decided to upgrade my project to VS2013. That all seemed to go well. Wnet o Publish to Azure and it claimed that it succeeded. However going to Azure and launching the app's site brought up the previous version.
I deleted my Azure cloud service and started a new project in VS2013. I copied over one of my screens to have something to run. I then tried to publish to Azure. It again told me it succeeded but the site did not exist in the Azure Management portal. However, it did realize that I had created a new self-signed certificate so there was some type of communication there. Just not an actual Publish.
Then I did something really stupid. I uninstalled the Azure SDK and tried to reinstall it thinking that was the problem. Now I'm back to where I was before. An endless loop asking me to install the Azure SDK.
I wiped out all of my Azure services. Did a system restore to a month ago. Reinstalled the Azure SDK. This then allowed me to "Publish".
Not really.
Visual Studio claimed that the Publish Succeeded. The services were created and the certificate uploaded but nothing was deployed. I then did a manual deploy and the Production instance began to be deployed.
Everything seems to be running but I cannot access my app's site. I receive a 403 Forbidden error message. With or without HTTPS required. But this seems to be a different issue so I'm going to open another question on it.
Why these extreme measures were required is beyond me. This continual breaking of LightSwitch to Azure publishing is getting to be absurd though.

There was an error attaching the debugger to the IIS worker process

I am new to Azure. I am trying to start my application in VS2012 (debugging). I am getting the error below:
There was an error attaching the debugger to the IIS worker process for URL 'http://learning.cloudapp.net:82' for role instance 'deployment18(13)......'. Unable to start debugging on the web server. The underlying connection was closed: An unexpected error occurred on a receive.
My application is working fine when I hosted it in IIS. It worked fine when I set the website project as the start up project. But when I set the azure project as start up project and start debugging I am getting the error. I have tried almost everything I could find on the internet. Can anyone please help?
Thanks,
Mahesh
One time I got this by loading an older Azure solution on a newer machine, another time after I upgraded to Azure SDK 2.0.
I was using IIS Express instead of regular IIS.
Each time the only thing that fixed was:
Install Azure SDK 2 via Web Platform Installer
Install Azure Powershell tools via Web Platform Installer
Create a new Azure Project -- do not use your old azure cloud project. Do not try to get it to work-- start fresh.
Foreach web/worker role that you use to have in your previous azure projects, create new web/worker roles for those as well. Do not try to get the old ones to work-- start fresh. Copy the content/files from your old ones into the new projects.
So basically, install the latest tools and then create new assemblies/packages/projects to replace the old ones.

Resources