My website is unavailable after trying to upgrade from Umbraco 7.15.6 to Umbraco 8.1.0 - umbraco

I tried to upgrade my website from 7.15.6 to 8.1.0
I used FileZilla to copy /bin and /Umbraco to my host. Then, I edited the web.config as explained here: https://our.umbraco.com/documentation/Getting-Started/Setup/Upgrading/migrating-to-v8
The installation process didn't start and my website is unavailable.
When I tried to rollback to 7.15.6, I now get the following error: Parser Error Description: An error occurred during the parsing of a resource required to service this request. Please review the following specific parse error details and modify your source file appropriately.
Parser Error Message: The type 'Umbraco.Web.UmbracoApplication' is ambiguous: it could come from assembly 'D:\home\site\wwwroot\bin\umbraco.DLL' or from assembly 'D:\home\site\wwwroot\bin\Umbraco.Web.DLL'. Please specify the assembly explicitly in the type name.
Source Error:
Line 1: <%# Application Inherits="Umbraco.Web.UmbracoApplication" Language="C#" %> Line 2:
Source File: /global.asax Line: 1
Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.8.4261.0
I copied again /bin and /Umbraco to my host (of 7.15.6), as well as the config and App_Plugins folders
How can I bring my website back???
Thakns.

You should remove umbraco.dll for a start. In fact, all Umbraco DLL's starting with a lowercase 'u' shouldn't be there.

You can't do an upgrade from 7 to 8 by copying files as Umbraco 8 contains a lot of breaking changes and a lot of legacy code has been cleaned up compared to Umbraco 7. Due to this, it is not possible to do a direct upgrade from Umbraco 7 to Umbraco 8.
Instead you can migrate your content from your Umbraco 7 site into your Umbraco 8 site after you fresh up a new Umbraco 8 website - again this is not an upgrade!
PS 1: Please use Nuget to install&upgrade your packages.
PS 2: I wrote a blog about my Umbraco V8 "upgrade" from V7 experience a while ago, please take a look. I'm adding the conclusion bit from my blog here, hope it helps.
It seems to be Umbraco v8 upgrade from v7 is not really an upgrade, but literally creating a new v8 project, doing the data migration, moving the custom code&settings, and making sure all is good again. You should know that for big projects, this is a lot of work and you need to make sure this is really what you want/need to do.
When creating new projects, definitely v8 should be your choice as it is the main focus of Umbraco, and it is the greatest version so far.
For v7 projects, I wouldn't recommend you to do a v8 upgrade, unless you have got real good reasons and time(and money to spend for this). Umbraco will continue to support v7 which is great news for all v7 projects.
For data migration, writing your own data migration code could be a good option, similar to what Paul Seal did.

Related

Difference Between Umbraco and Vanila Umbraco

What is the difference between umbraco and vanila umbraco.
i'm currently using umbraco 6.2.1 version in my website.
Any special procedure available for upgrading this version to Vanila umbraco version.
Vanilla Umbraco means a fresh clean installation of Umbraco, without any customization.
Vanilla is a general term used for software, see also on wiki
Related to upgrading, one approach is to do a new installation of Umbraco (we can called it a vanilla installation) and then deploy your code, and migrate the content. Instead of the General Umbraco upgrade instructions.
I'd say that there is no running website with a vanilla Umbraco install. Umbraco is not a typical CMS. You are customizing it as soon as you start setting up your site in it. This is partly due to a choice on the Umbraco HQ team's decision to store their settings in the same files where you change settings by using Umbraco, requiring you to merge certain files during the upgrade.
As for upgrading, I'll warn you, there are a few ways to install Umbraco (Web PI, Nuget, Zip file), and if you upgrade in a way different than you installed, it can be hell. Step one, back up your site (front-end file-system files and db)! If you did not install Umbraco via Nuget (in Visual Studio), do not upgrade via Nuget. You will regret it.
Umbraco upgrades are a problem.
If the versions are minor running the update-package umbracocms nuget might work, but it often leaves the project mismatching version assemblies elsewhere.
Upgrading Umbraco is a bit of a minefield. Soz
Umbraco is now at version 11 and have moved their code base from the .NET framework into .NET core. Newer version is offering so much more, block-list, block-grid, inline editing, so many new and improved property editors. Editing experience and working with the CMS has changed so much since version 6.
Vanilla Umbraco would a term for a non-configured, fresh install.
You can find out everything you need to know about Umbraco on their documentation pages.
https://docs.umbraco.com/getting-started
Umbraco is a free open source project so there is no cost if you want to roll your sleeves, dig in and move over to the newest version. There are some paid offerings as well that would give support if you needed it.
Now that they have moved away from the .NET framework and moved their code base over to .NET Core there is no longer a direct path to upgrade from version 8 and earlier to the most recent version 11.
I would recommend you set up a fresh install, configure and customize as desired and then move any relevant content over to your new site.
There are many articles out there detailing how others moved over to the newer version.
Good article here on how they upgraded from version 7 to the newer version 11.
https://skrift.io/issues/how-i-upgraded-my-umbraco-v7-project-to-umbraco-v11/
Worth the read if your planning on going down that path.
Good luck.

NuGet in a project template

This question is about how to set up a project template to satisfy dependencies.
First, some context.
I have a MVC4/Durandal project that I'm trying to turn into a project template that distils all the goodness from a recent project, for re-use.
After creating a new project, adding all the non-standard good bits and shaking down the stub project so that it compiles and runs properly, I copied the project folder and plonked it on another computer with a freshly minted VS2013 installation, to see what broke.
The following were MIA:
Antlr.Runtime
System.Net.Http.Extensions
System.Net.Http.Primitives
System.Web.Optimization
WebActivator
WebGrease
There are a couple of issues making it less than obvious to me as to how I should proceed.
Installation of these things happened so long ago that I really couldn't say how they got onto my development workstation
In many cases package dependencies mean that installing one NuGET package will implicitly satisfy other dependencies
I don't know how set up a project template so that it causes NuGET package(s) to be installed
A bit of guidance would be appreciated, not to mention advice on best practice.
Update
It appears there is direct NuGet support for project templates, I'm still reading about it here and also here.
Since allowing NuGet to automatically resolve dependencies is a good way to ensure compatible versions are installed in the right order, the remaining question is looking at the missing assemblies, how can I determine the most dependent package(s)?
It seems that omitting the packages folder produces a slim template, and the projects produced therefrom install the missing files as soon as you start a build. That's good enough for me.
I would simply start with a blank ASP.NET 4.5 MVC project. The most basic dependencies should be satisfied then. NuGet has basic packages for Mvc and other packages you may need. NuGet packages are designed to self contain the missing assemblies they need. They'll get published in IIS when you deploy so you don't install anything on the server.

How do you properly get/deploy ASP.NET MVC?

I'm thoroughly confused about how to properly deploy ASP.NET MVC with my application. As far as I understand, there are the following ways you can get it on a machine:
You can download a separate installer and install it on a machine that has the approprite .NET framework (although which MVC version requires which .NET framework?)
Some versions come along with .NET framework itself (though I can't find which version of MVC is shipped with which version of .NET);
Some versions are installed with Visual Studio (though again, no idea which versions are installed with which versions of VS). In this case, you can set Copy Locally to true for these references and perform a "bin deploy". You might need to add some extra references though (not sure which though).
You can also download MVC as a NuGet package, in which case it also downloads some other unrelated packages like WebPages, Infrastructure and Razor (which is my personal WTF - wasn't Razor a core part of MVC?). In this case the build process will automatically do a "bin deploy" by default (I think...)
So... WTF? What is the proper way to add MVC to your development workstation, what is the proper way to add the references to your project (NuGet? GAC?), and what is the proper way to deploy it to the target server (separate installer? .NET installer? bin deploy?)
"Proper" Development:
The "proper way" (by which I mean standard/redistributable way) would be using Nuget for your references. This means you can easily manage different versions and anybody else working on your project has a standard repository from which to pull the external requirements.
The NuGet documentation has a decent explanation of how to add references.
To install the appropriate version of MVC for developing through Visual Studio, just download and install it from the ASP.NET MVC website. This will install the necessary templates for you to create a new MVC project in Visual Studio. This will also include the necessary binaries, etc.
"Proper" Deployment:
Use bin deploy to deploy to your webserver. This means you don't need full admin priviledges to install the MVC requirements.
Phil Haack's guide will walk you through the process of bin deploying MVC3+
Keep in mind, the web server does need the appropriate .NET platform installed. You should install this via the appropriate redistributable installer if it is not already installed on the server.
Referring to the deployment i publish my asp.net app (i usually make web applications) to the file system in a directory (you can set also a server there, but i don't like it) and make an upload to the server with an FTP client of all the deployed folders. All the changes that i make to the app after (like bug correction) i deploy all the app again and upload single parts.
I hope i get your question in part, this is my first answer in SO.

MVC 2 to MVC 3: MvcScaffolding fails due to "could not load file or assembly" error

Setup:
I am using MVC 3, EF 4.1, Visual Studio 2010 SP1 with Power Tools updated to latest version.
With the above installations, I don't need the NuGet packages that were required previously. Everything is RTM.
The project has been upgraded from MVC 2 to MVC 3. I initially tried the upgrade tool, but that gave me grief, so I did it manually as per the instructions in the MVC 3 Read Me file.
Problem:
When trying to use the new scaffolding of controllers and views for CRUD functionality (against Code First DbContext), the scaffolding fails with the error:
Could not load file or assembly 'file:///C:\[PATH TO MY APP]\bin\Lanap.BotDetect.dll'
or one of its dependencies. Operation is not supported.
(Exception from HRESULT: 0x80131515)
Question:
Lanap.BotDetect is a Captcha control. It works fine and is there, I use it in other pages no problems, the solution compiles, etc, etc. So there is no problem with this dll.
However, this error is stopping me using the new scaffolding capabilities.
I can't see what it has to do with the scaffolding of a new controller and its views, so there must be some configuration that is wrong.
Any suggestions as to where I can look? Googling has drawn a blank.
EDIT 1:
I am trying to see the failed assembly binding using Fusion Log as suggested in a comment. No failed binding showing (but that might be my fault) but the question remains:
Why would MvcScaffolding NEED to load the Captcha .dll at all? It is just scaffolding a controller, and nothing in the T4 says anything about this .dll
(NOTE: I haven't edited the scaffolding T4 code)
EDIT 2:
I tried removing the reference to Lanap.BotDetect, and the error changed to not being able to open the config file that has the connection strings (I shunt the connection strings out to a db.config string, just gives me less visual pain when looking at a config file).
I am giving up on scaffolding on this app. It works in clean, new apps, but not this one where there is a lot of pre existing code.
I found another solution to this. Turns the issue for me was that the issue was it was being built over a network drive. So when I moved the project over to a location local to my machine and rebuilt the project it corrected everything. I detailed everything with screen shots and here...
http://ryandunn.co/mvc-growing-pains-could-not-load-file-controller-dll
Put simply check the location of your project and move it to C: after that a quick rebuild had me back and working normally.
So I know that you have moved on but I ran into the same problem and just found the solution. It turns out the error is due to the assembly not being trusted i.e. you downloaded it from the internet.
You can right click the .dll and unblock it to fix the problem. For info on how to unblock see the following
http://blogs.msdn.com/b/brada/archive/2009/12/11/visual-studio-project-sample-loading-error-assembly-could-not-be-loaded-and-will-be-ignored-could-not-load-file-or-assembly-or-one-of-its-dependencies-operation-is-not-supported-exception-from-hresult-0x80131515.aspx

ASP.NET MVC Upgrade guide

I have a small ASP.NET MVC application developed using the latest beta version.
What would be an easy to follow step-by-step guide to upgrade to the RC released yesterday?
What key changes would I have to apply to get it working in the new version?
Read the release notes, the steps to follow are listed there.
Repeated here for your convenience.
There are not many changes between the Beta and the RC releases. However, you will need to make a few changes to your applications after installing the Beta release. Most of these changes are apparent when you try to compile your application by using the latest release, so we do not list every possible change.
The following list describes some of the changes that you must make.
Update the references to the
following assemblies to point to the
RC versions:
System.Web.Abstractions.dll
System.Web.Routing.dll
System.Web.Mvc.d
ll
Note If you are running ASP.NET 3.5 SP1, you need to update only the System.Web.Mvc assembly reference.
By default, these assemblies are located in the following folder:
%ProgramFiles%\Microsoft ASP.NET\ASP.NET MVC RC
After you have made these changes, compile your application and resolve any compilation errors. Most of the errors will be the result of one of the breaking changes listed earlier.
Update the section the Web.config file In the Views folder to match the following example. (The changed elements are in bold.)
I think the release notes has a fairly good guide.
There's some issues not mentioned in release note. Read this for more info:
http://forums.asp.net/t/1377139.aspx
You also make sure to add the following tag to your web.config file:
<system.web.extensions/>
It took me a lot of effort to figure it out since it's been nowhere documented.

Resources