I have followed the steps here to upgrade from ASP.NET 5 Beta 4 to Beta 5 but am getting an error at runtime when calling application.UseBrowserLink();:
An exception of type 'System.TypeLoadException' occurred in mscorlib.dll but was not handled in user code
Additional information: Could not load type 'Microsoft.AspNet.Builder.IApplicationBuilder' from assembly 'Microsoft.AspNet.Http, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'.
These are the steps I followed:
$env:DNX_FEED="https://www.nuget.org/api/v2"dnvm upgradeAdded a Global.json file (I did not already have one). When I added it, it referred to Beta 5 already:
{
"projects": [ "Source", "Tests" ],
"sdk": {
"version": "1.0.0-beta5-12103"
}
}
Updated all packages in project.json to Beta 5. You can see a full version of my project.lock.json file here.
{
"dependencies": {
"Boilerplate.Web.Mvc6": "1.0.2",
"Microsoft.AspNet.Diagnostics": "1.0.0-beta5",
"Microsoft.AspNet.Mvc": "6.0.0-beta5",
"Microsoft.AspNet.Mvc.TagHelpers": "6.0.0-beta5",
"Microsoft.AspNet.Mvc.Xml": "6.0.0-beta5",
"Microsoft.AspNet.Server.IIS": "1.0.0-beta5",
"Microsoft.AspNet.Server.WebListener": "1.0.0-beta5",
"Microsoft.AspNet.StaticFiles": "1.0.0-beta5",
"Microsoft.AspNet.Tooling.Razor": "1.0.0-beta5",
"Microsoft.Framework.CodeGenerators.Mvc": "1.0.0-beta5",
"Microsoft.Framework.Configuration.EnvironmentVariables": "1.0.0-beta5",
"Microsoft.Framework.Configuration.Json": "1.0.0-beta5",
"Microsoft.Framework.Configuration.UserSecrets": "1.0.0-beta5",
"Microsoft.Framework.Logging": "1.0.0-beta5",
"Microsoft.Framework.Logging.Console": "1.0.0-beta5",
"Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0-beta5",
"Newtonsoft.Json": "6.0.6",
"System.Runtime": "4.0.20-beta-23019"
}
"frameworks": {
"dnx451": {
"frameworkAssemblies": {
"System.Net.Http": "4.0.0.0",
"System.ServiceModel": "4.0.0.0"
}
},
"dnxcore50": {
"dependencies": {
"System.Net.Http": "4.0.0-beta-23019"
}
}
}
}
dnu restore then dnu build.UPDATE
It seems to be a problem with browser link, commenting the line out allows the site to work. It may be broken? Need to hunt around the aspnet GitHub issues.
In order to help you migrate from beta4 to beta5, these are the following steps it took me, based on the research/findings.
$env:DNX_FEED="https://www.nuget.org/api/v2"dnvm install 1.0.0-beta5dnvm use 1.0.0-beta5 -p (not sure if its needed however i had to)Open global.json and update sdk to 1.0.0-beta5 should look like this:
{
"projects": [ "src", "test" ],
"sdk": {
"version": "1.0.0-beta5"
}
}
Open project.json:
Change Configuration dependency from:
"Microsoft.Framework.ConfigurationModel.Json": "1.0.0-beta4"
to
"Microsoft.Framework.Configuration": "1.0.0-beta5",
"Microsoft.Framework.Configuration.Json": "1.0.0-beta5"
Microsoft.VisualStudio.Web.BrowserLink.Loader_GlobalImport.cshtml to _ViewImports.cshtmlChange Configuration breaking changes
Change namespace from using Microsoft.Framework.ConfigurationModel; to using Microsoft.Framework.Configuration;
Change Configuration.GetSubKey to Configuration.GetConfigurationSection
Change CTOR to:
public Startup(IHostingEnvironment env, IApplicationEnvironment appEnv)
{
// Setup configuration sources.
var configBuilder = new ConfigurationBuilder(appEnv.ApplicationBasePath)
.AddJsonFile("config.json")
.AddEnvironmentVariables();
Configuration = configBuilder.Build();
}
app.UseBrowserLink();dnu restorednu buildMyself found it quite difficult to upgrade an existing project, couldn't find all steps required all together. Hope it helps!
To complete, if you want to update from beta 4 to beta 6, see the Stephen Lautier's answer and to this after :
To update from beta 5 to beta 6 :
I did :
In project.json :
In Startup.cs, if you use Session :
In ConfigureServices, add this :
services.AddCaching();
services.AddSession();
services.ConfigureSession(o => { o.IdleTimeout = TimeSpan.FromSeconds(10); });
Right click on your Project > Properties > Debug > Add a new Environment Variable :
Name : DNX_IIS_RUNTIME_FRAMEWORK
Value : dnx46
See that for more information : http://jameschambers.com/2015/07/launching-an-asp-net-5-application-from-visual-studio-2015/
My project work in beta6 after that, maybe there are other things to do.
After speaking with @davidfowl from the ASP.NET vNext team, he told me that Browser Link doesn't work in beta5 and should be removed.