diff --git a/Oqtane.Client/App.razor b/Oqtane.Client/App.razor
index 9e2793d7..91b327ce 100644
--- a/Oqtane.Client/App.razor
+++ b/Oqtane.Client/App.razor
@@ -1,4 +1,5 @@
-@using Oqtane.Shared
+@using Microsoft.AspNetCore.Components.Authorization
+@using Oqtane.Shared
@using Oqtane.Services
@inject IInstallationService InstallationService
diff --git a/Oqtane.Client/Modules/Admin/Dashboard/Index.razor b/Oqtane.Client/Modules/Admin/Dashboard/Index.razor
index 0e2d7fa9..18a5a921 100644
--- a/Oqtane.Client/Modules/Admin/Dashboard/Index.razor
+++ b/Oqtane.Client/Modules/Admin/Dashboard/Index.razor
@@ -1,4 +1,5 @@
-@using Microsoft.AspNetCore.Components.Routing
+@using Microsoft.AspNetCore.Components.Web
+@using Microsoft.AspNetCore.Components.Routing
@using Oqtane.Modules
@using Oqtane.Services
@using Oqtane.Models;
diff --git a/Oqtane.Client/Modules/Admin/Login/Index.razor b/Oqtane.Client/Modules/Admin/Login/Index.razor
index dd71ce89..b8a77ec6 100644
--- a/Oqtane.Client/Modules/Admin/Login/Index.razor
+++ b/Oqtane.Client/Modules/Admin/Login/Index.razor
@@ -1,4 +1,6 @@
-@using Microsoft.AspNetCore.Components.Routing
+@using Microsoft.AspNetCore.Components.Authorization
+@using Microsoft.AspNetCore.Components.Web
+@using Microsoft.AspNetCore.Components.Routing
@using Oqtane.Modules
@using Microsoft.JSInterop
@using Oqtane.Models
diff --git a/Oqtane.Client/Modules/Admin/ModuleDefinitions/Add.razor b/Oqtane.Client/Modules/Admin/ModuleDefinitions/Add.razor
index 1de211df..4789f600 100644
--- a/Oqtane.Client/Modules/Admin/ModuleDefinitions/Add.razor
+++ b/Oqtane.Client/Modules/Admin/ModuleDefinitions/Add.razor
@@ -1,4 +1,5 @@
@using Microsoft.AspNetCore.Components.Routing
+@using Microsoft.AspNetCore.Components.Web
@using Oqtane.Modules.Controls
@using Oqtane.Modules
@using Oqtane.Services
diff --git a/Oqtane.Client/Modules/Admin/ModuleDefinitions/Index.razor b/Oqtane.Client/Modules/Admin/ModuleDefinitions/Index.razor
index 53ad0d55..f887bfa8 100644
--- a/Oqtane.Client/Modules/Admin/ModuleDefinitions/Index.razor
+++ b/Oqtane.Client/Modules/Admin/ModuleDefinitions/Index.razor
@@ -1,4 +1,5 @@
-@using Oqtane.Services
+@using Microsoft.AspNetCore.Components.Web
+@using Oqtane.Services
@using Oqtane.Models
@using Oqtane.Modules
@using Oqtane.Modules.Controls
diff --git a/Oqtane.Client/Modules/Admin/ModuleSettings/Index.razor b/Oqtane.Client/Modules/Admin/ModuleSettings/Index.razor
index 90427170..ca7ac200 100644
--- a/Oqtane.Client/Modules/Admin/ModuleSettings/Index.razor
+++ b/Oqtane.Client/Modules/Admin/ModuleSettings/Index.razor
@@ -1,4 +1,5 @@
@using Microsoft.AspNetCore.Components.Routing
+@using Microsoft.AspNetCore.Components.Web
@using Oqtane.Services
@using Oqtane.Models
@using Oqtane.Modules
diff --git a/Oqtane.Client/Modules/Admin/Pages/Add.razor b/Oqtane.Client/Modules/Admin/Pages/Add.razor
index bb104aae..82c2dc0c 100644
--- a/Oqtane.Client/Modules/Admin/Pages/Add.razor
+++ b/Oqtane.Client/Modules/Admin/Pages/Add.razor
@@ -1,4 +1,5 @@
@using Microsoft.AspNetCore.Components.Routing
+@using Microsoft.AspNetCore.Components.Web
@using Oqtane.Modules.Controls
@using Oqtane.Models
@using Oqtane.Services
@@ -31,7 +32,7 @@
@foreach (Page page in pages)
{
-
+
}
@@ -141,14 +142,14 @@
Dictionary panelayouts = new Dictionary();
List pages;
- string name;
+ string name = "";
string parentid;
- string insert;
+ string insert = ">>";
List children;
int childid = -1;
string isnavigation = "True";
string editmode = "False";
- string themetype;
+ string themetype = "";
string layouttype = "";
string icon = "";
string permissions = ""; // need to set default permissions
diff --git a/Oqtane.Client/Modules/Admin/Pages/Delete.razor b/Oqtane.Client/Modules/Admin/Pages/Delete.razor
index c6e61d21..ba85c106 100644
--- a/Oqtane.Client/Modules/Admin/Pages/Delete.razor
+++ b/Oqtane.Client/Modules/Admin/Pages/Delete.razor
@@ -1,4 +1,5 @@
@using Microsoft.AspNetCore.Components.Routing
+@using Microsoft.AspNetCore.Components.Web
@using Oqtane.Modules.Controls
@using Oqtane.Models
@using Oqtane.Services
@@ -128,7 +129,7 @@
int PageId;
string name;
string path;
- string parentid;
+ string parentid = "";
string isnavigation;
string editmode;
string themetype;
diff --git a/Oqtane.Client/Modules/Admin/Pages/Edit.razor b/Oqtane.Client/Modules/Admin/Pages/Edit.razor
index 831d84da..83aacea5 100644
--- a/Oqtane.Client/Modules/Admin/Pages/Edit.razor
+++ b/Oqtane.Client/Modules/Admin/Pages/Edit.razor
@@ -1,4 +1,5 @@
@using Microsoft.AspNetCore.Components.Routing
+@using Microsoft.AspNetCore.Components.Web
@using Oqtane.Modules.Controls
@using Oqtane.Models
@using Oqtane.Services
diff --git a/Oqtane.Client/Modules/Admin/Pages/Index.razor b/Oqtane.Client/Modules/Admin/Pages/Index.razor
index 1d765897..0f6cdf99 100644
--- a/Oqtane.Client/Modules/Admin/Pages/Index.razor
+++ b/Oqtane.Client/Modules/Admin/Pages/Index.razor
@@ -1,4 +1,5 @@
-@using Oqtane.Modules.Controls
+@using Microsoft.AspNetCore.Components.Web
+@using Oqtane.Modules.Controls
@using Oqtane.Services
@using Oqtane.Models
@using Oqtane.Modules
diff --git a/Oqtane.Client/Modules/Admin/Profile/Index.razor b/Oqtane.Client/Modules/Admin/Profile/Index.razor
index 937c96b8..dc89e517 100644
--- a/Oqtane.Client/Modules/Admin/Profile/Index.razor
+++ b/Oqtane.Client/Modules/Admin/Profile/Index.razor
@@ -1,4 +1,5 @@
@using Microsoft.AspNetCore.Components.Routing
+@using Microsoft.AspNetCore.Components.Web
@using Oqtane.Modules.Controls
@using Oqtane.Modules
@using Oqtane.Models
diff --git a/Oqtane.Client/Modules/Admin/Register/Index.razor b/Oqtane.Client/Modules/Admin/Register/Index.razor
index 3158e17a..a85e78eb 100644
--- a/Oqtane.Client/Modules/Admin/Register/Index.razor
+++ b/Oqtane.Client/Modules/Admin/Register/Index.razor
@@ -1,4 +1,5 @@
@using Microsoft.AspNetCore.Components.Routing
+@using Microsoft.AspNetCore.Components.Web
@using Oqtane.Modules
@using Oqtane.Models
@using Oqtane.Services
diff --git a/Oqtane.Client/Modules/Admin/Roles/Index.razor b/Oqtane.Client/Modules/Admin/Roles/Index.razor
index f6c55e8e..ac5deb59 100644
--- a/Oqtane.Client/Modules/Admin/Roles/Index.razor
+++ b/Oqtane.Client/Modules/Admin/Roles/Index.razor
@@ -1,4 +1,5 @@
-@using Oqtane.Services
+@using Microsoft.AspNetCore.Components.Web
+@using Oqtane.Services
@using Oqtane.Models
@using Oqtane.Modules
@using Oqtane.Modules.Controls
diff --git a/Oqtane.Client/Modules/Admin/Sites/Add.razor b/Oqtane.Client/Modules/Admin/Sites/Add.razor
index 69ab9902..83315f12 100644
--- a/Oqtane.Client/Modules/Admin/Sites/Add.razor
+++ b/Oqtane.Client/Modules/Admin/Sites/Add.razor
@@ -1,4 +1,5 @@
@using Microsoft.AspNetCore.Components.Routing
+@using Microsoft.AspNetCore.Components.Web
@using Oqtane.Models
@using Oqtane.Services
@using Oqtane.Modules
@@ -66,10 +67,10 @@ else
public override SecurityAccessLevel SecurityAccessLevel { get { return SecurityAccessLevel.Host; } }
List tenants;
- string tenantid;
- string name;
- string url;
- string logo;
+ string tenantid = "";
+ string name = "";
+ string url = "";
+ string logo = "";
protected override async Task OnInitializedAsync()
{
diff --git a/Oqtane.Client/Modules/Admin/Sites/Index.razor b/Oqtane.Client/Modules/Admin/Sites/Index.razor
index 5520bd54..aa75fb4c 100644
--- a/Oqtane.Client/Modules/Admin/Sites/Index.razor
+++ b/Oqtane.Client/Modules/Admin/Sites/Index.razor
@@ -1,4 +1,5 @@
-@using Oqtane.Services
+@using Microsoft.AspNetCore.Components.Web
+@using Oqtane.Services
@using Oqtane.Models
@using Oqtane.Modules
@using Oqtane.Modules.Controls
diff --git a/Oqtane.Client/Modules/Admin/Themes/Index.razor b/Oqtane.Client/Modules/Admin/Themes/Index.razor
index 0fbdc3ac..f272dba6 100644
--- a/Oqtane.Client/Modules/Admin/Themes/Index.razor
+++ b/Oqtane.Client/Modules/Admin/Themes/Index.razor
@@ -1,4 +1,5 @@
-@using Oqtane.Services
+@using Microsoft.AspNetCore.Components.Web
+@using Oqtane.Services
@using Oqtane.Models
@using Oqtane.Modules
@namespace Oqtane.Modules.Admin.Themes
diff --git a/Oqtane.Client/Modules/Admin/Users/Index.razor b/Oqtane.Client/Modules/Admin/Users/Index.razor
index b5e54377..d7c6e048 100644
--- a/Oqtane.Client/Modules/Admin/Users/Index.razor
+++ b/Oqtane.Client/Modules/Admin/Users/Index.razor
@@ -1,4 +1,5 @@
-@using Oqtane.Services
+@using Microsoft.AspNetCore.Components.Web
+@using Oqtane.Services
@using Oqtane.Models
@using Oqtane.Modules
@using Oqtane.Modules.Controls
diff --git a/Oqtane.Client/Modules/Controls/ActionLink.razor b/Oqtane.Client/Modules/Controls/ActionLink.razor
index f1e8c6ce..498ea8e7 100644
--- a/Oqtane.Client/Modules/Controls/ActionLink.razor
+++ b/Oqtane.Client/Modules/Controls/ActionLink.razor
@@ -1,4 +1,5 @@
@using Microsoft.AspNetCore.Components.Routing
+@using Microsoft.AspNetCore.Components.Web
@using Oqtane.Modules
@using Oqtane.Services
@using Oqtane.Shared
diff --git a/Oqtane.Client/Modules/Controls/AuditInfo.razor b/Oqtane.Client/Modules/Controls/AuditInfo.razor
index bba7d0ba..f83705a7 100644
--- a/Oqtane.Client/Modules/Controls/AuditInfo.razor
+++ b/Oqtane.Client/Modules/Controls/AuditInfo.razor
@@ -1,4 +1,5 @@
@using Oqtane.Modules
+@using Microsoft.AspNetCore.Components.Web
@namespace Oqtane.Modules.Controls
@inherits ModuleBase
diff --git a/Oqtane.Client/Modules/Controls/FileUpload.razor b/Oqtane.Client/Modules/Controls/FileUpload.razor
index 6f19a0f5..626673a2 100644
--- a/Oqtane.Client/Modules/Controls/FileUpload.razor
+++ b/Oqtane.Client/Modules/Controls/FileUpload.razor
@@ -1,4 +1,5 @@
-@namespace Oqtane.Modules.Controls
+@using Microsoft.AspNetCore.Components.Web
+@namespace Oqtane.Modules.Controls
@if (multiple)
{
diff --git a/Oqtane.Client/Modules/Controls/ModuleMessage.razor b/Oqtane.Client/Modules/Controls/ModuleMessage.razor
index 18b7694e..5b088b43 100644
--- a/Oqtane.Client/Modules/Controls/ModuleMessage.razor
+++ b/Oqtane.Client/Modules/Controls/ModuleMessage.razor
@@ -1,4 +1,5 @@
-@using Oqtane.Modules
+@using Microsoft.AspNetCore.Components.Web
+@using Oqtane.Modules
@namespace Oqtane.Modules.Controls
@inherits ModuleBase
diff --git a/Oqtane.Client/Modules/Controls/PermissionGrid.razor b/Oqtane.Client/Modules/Controls/PermissionGrid.razor
index d05c3c2a..130b0dde 100644
--- a/Oqtane.Client/Modules/Controls/PermissionGrid.razor
+++ b/Oqtane.Client/Modules/Controls/PermissionGrid.razor
@@ -1,4 +1,5 @@
-@using Oqtane.Services
+@using Microsoft.AspNetCore.Components.Web
+@using Oqtane.Services
@using Oqtane.Modules
@using Oqtane.Models
@using Oqtane.Security
diff --git a/Oqtane.Client/Modules/Controls/TriStateCheckBox.razor b/Oqtane.Client/Modules/Controls/TriStateCheckBox.razor
index c8881f3f..b411d723 100644
--- a/Oqtane.Client/Modules/Controls/TriStateCheckBox.razor
+++ b/Oqtane.Client/Modules/Controls/TriStateCheckBox.razor
@@ -1,4 +1,5 @@
-@namespace Oqtane.Modules.Controls
+@using Microsoft.AspNetCore.Components.Web
+@namespace Oqtane.Modules.Controls
diff --git a/Oqtane.Client/Modules/Counter/Index.razor b/Oqtane.Client/Modules/Counter/Index.razor
index 32d3625c..9b8dd4b3 100644
--- a/Oqtane.Client/Modules/Counter/Index.razor
+++ b/Oqtane.Client/Modules/Counter/Index.razor
@@ -1,3 +1,4 @@
+@using Microsoft.AspNetCore.Components.Web
@using Oqtane.Modules
@namespace Oqtane.Modules.Counter
@inherits ModuleBase
diff --git a/Oqtane.Client/Modules/HtmlText/Edit.razor b/Oqtane.Client/Modules/HtmlText/Edit.razor
index 8dd8140d..887bd056 100644
--- a/Oqtane.Client/Modules/HtmlText/Edit.razor
+++ b/Oqtane.Client/Modules/HtmlText/Edit.razor
@@ -1,4 +1,5 @@
@using Microsoft.AspNetCore.Components.Routing
+@using Microsoft.AspNetCore.Components.Web
@using Oqtane.Modules
@using Oqtane.Modules.Controls
@using Oqtane.Modules.HtmlText.Services
diff --git a/Oqtane.Client/Modules/HtmlText/Index.razor b/Oqtane.Client/Modules/HtmlText/Index.razor
index e7e372b9..1d64725e 100644
--- a/Oqtane.Client/Modules/HtmlText/Index.razor
+++ b/Oqtane.Client/Modules/HtmlText/Index.razor
@@ -1,4 +1,5 @@
-@using Oqtane.Modules.HtmlText.Services
+@using Microsoft.AspNetCore.Components.Web
+@using Oqtane.Modules.HtmlText.Services
@using Oqtane.Modules
@using Oqtane.Modules.HtmlText.Models
@using System.Net.Http;
diff --git a/Oqtane.Client/Modules/Weather/Index.razor b/Oqtane.Client/Modules/Weather/Index.razor
index 55ff47a2..e410592e 100644
--- a/Oqtane.Client/Modules/Weather/Index.razor
+++ b/Oqtane.Client/Modules/Weather/Index.razor
@@ -1,3 +1,4 @@
+@using Microsoft.AspNetCore.Components.Web
@using Oqtane.Modules
@using Oqtane.Modules.Weather.Services
@namespace Oqtane.Modules.Weather
diff --git a/Oqtane.Client/Oqtane.Client.csproj b/Oqtane.Client/Oqtane.Client.csproj
index e031ac11..3108d4ff 100644
--- a/Oqtane.Client/Oqtane.Client.csproj
+++ b/Oqtane.Client/Oqtane.Client.csproj
@@ -29,6 +29,7 @@
+
diff --git a/Oqtane.Client/Shared/Installer.razor b/Oqtane.Client/Shared/Installer.razor
index 08100625..5c62bdcc 100644
--- a/Oqtane.Client/Shared/Installer.razor
+++ b/Oqtane.Client/Shared/Installer.razor
@@ -1,4 +1,5 @@
-@using Oqtane.Services
+@using Microsoft.AspNetCore.Components.Web
+@using Oqtane.Services
@using Oqtane.Models
@using Oqtane.Shared
@namespace Oqtane.Shared
diff --git a/Oqtane.Client/Themes/Controls/ControlPanel.razor b/Oqtane.Client/Themes/Controls/ControlPanel.razor
index f9c8d217..ce7e4659 100644
--- a/Oqtane.Client/Themes/Controls/ControlPanel.razor
+++ b/Oqtane.Client/Themes/Controls/ControlPanel.razor
@@ -1,4 +1,5 @@
@using Microsoft.AspNetCore.Components.Routing
+@using Microsoft.AspNetCore.Components.Web
@using Oqtane.Services
@using Oqtane.Models
@using Oqtane.Themes
@@ -93,10 +94,10 @@
List moduledefinitions;
Dictionary containers = new Dictionary();
int pagemanagementmoduleid = -1;
- string moduledefinitionname;
- string pane;
+ string moduledefinitionname = "";
+ string pane = "";
string title = "";
- string containertype;
+ string containertype = "";
protected override async Task OnInitializedAsync()
{
diff --git a/Oqtane.Client/Themes/Controls/Login.razor b/Oqtane.Client/Themes/Controls/Login.razor
index 4d2337ed..83106017 100644
--- a/Oqtane.Client/Themes/Controls/Login.razor
+++ b/Oqtane.Client/Themes/Controls/Login.razor
@@ -1,4 +1,6 @@
-@using Oqtane.Themes
+@using Microsoft.AspNetCore.Components.Authorization
+@using Microsoft.AspNetCore.Components.Web
+@using Oqtane.Themes
@using Oqtane.Services
@using Oqtane.Providers
@using Oqtane.Shared
diff --git a/Oqtane.Client/Themes/Controls/Logo.razor b/Oqtane.Client/Themes/Controls/Logo.razor
index ef4bee38..fc319ed7 100644
--- a/Oqtane.Client/Themes/Controls/Logo.razor
+++ b/Oqtane.Client/Themes/Controls/Logo.razor
@@ -1,4 +1,5 @@
-@using Oqtane.Themes
+@using Microsoft.AspNetCore.Components.Web
+@using Oqtane.Themes
@namespace Oqtane.Themes.Controls
@inherits ThemeObjectBase
diff --git a/Oqtane.Client/Themes/Controls/Menu.razor b/Oqtane.Client/Themes/Controls/Menu.razor
index d9528094..f2a639a5 100644
--- a/Oqtane.Client/Themes/Controls/Menu.razor
+++ b/Oqtane.Client/Themes/Controls/Menu.razor
@@ -1,4 +1,5 @@
@using Microsoft.AspNetCore.Components.Routing
+@using Microsoft.AspNetCore.Components.Web
@using Oqtane.Themes
@using Oqtane.Services
@using Oqtane.Models;
diff --git a/Oqtane.Client/Themes/Controls/Menu2.razor b/Oqtane.Client/Themes/Controls/Menu2.razor
index 111bdd22..5170210f 100644
--- a/Oqtane.Client/Themes/Controls/Menu2.razor
+++ b/Oqtane.Client/Themes/Controls/Menu2.razor
@@ -1,4 +1,5 @@
@using Microsoft.AspNetCore.Components.Routing
+@using Microsoft.AspNetCore.Components.Web
@using Oqtane.Themes
@using Oqtane.Services
@using Oqtane.Models;
diff --git a/Oqtane.Client/Themes/Controls/ModuleActions.razor b/Oqtane.Client/Themes/Controls/ModuleActions.razor
index 5e0d8029..a1f3d7d1 100644
--- a/Oqtane.Client/Themes/Controls/ModuleActions.razor
+++ b/Oqtane.Client/Themes/Controls/ModuleActions.razor
@@ -1,4 +1,5 @@
-@using Oqtane.Themes
+@using Microsoft.AspNetCore.Components.Web
+@using Oqtane.Themes
@using Oqtane.Services
@using Oqtane.Models
@using Oqtane.Shared
diff --git a/Oqtane.Client/Themes/Controls/ModuleTitle.razor b/Oqtane.Client/Themes/Controls/ModuleTitle.razor
index fc26b33f..fed0f0b1 100644
--- a/Oqtane.Client/Themes/Controls/ModuleTitle.razor
+++ b/Oqtane.Client/Themes/Controls/ModuleTitle.razor
@@ -1,4 +1,5 @@
-@using Oqtane.Themes
+@using Microsoft.AspNetCore.Components.Web
+@using Oqtane.Themes
@namespace Oqtane.Themes.Controls
@inherits ContainerBase
diff --git a/Oqtane.Client/Themes/Controls/Profile.razor b/Oqtane.Client/Themes/Controls/Profile.razor
index 03ed2b32..df71f803 100644
--- a/Oqtane.Client/Themes/Controls/Profile.razor
+++ b/Oqtane.Client/Themes/Controls/Profile.razor
@@ -1,5 +1,6 @@
-@using Oqtane.Themes
-@using Microsoft.AspNetCore.Components.Authorization
+@using Microsoft.AspNetCore.Components.Authorization
+@using Microsoft.AspNetCore.Components.Web
+@using Oqtane.Themes
@namespace Oqtane.Themes.Controls
@inherits ThemeObjectBase
@inject NavigationManager NavigationManager
diff --git a/Oqtane.Server/Controllers/UserController.cs b/Oqtane.Server/Controllers/UserController.cs
index 9926dacb..6ac89937 100644
--- a/Oqtane.Server/Controllers/UserController.cs
+++ b/Oqtane.Server/Controllers/UserController.cs
@@ -107,12 +107,11 @@ namespace Oqtane.Controllers
if (ModelState.IsValid)
{
- bool installed = true;
- if (!Users.GetUsers().Any())
- {
- installed = false; // during initial installation we need to be able to create the host user
- }
-
+ //bool installed = true;
+ //if (!Users.GetUsers().Any())
+ //{
+ // installed = false; // during initial installation we need to be able to create the host user
+ //}
IdentityUser identityuser = await IdentityUserManager.FindByNameAsync(User.Username);
if (identityuser == null)
{
diff --git a/README.md b/README.md
index 25a528fd..be3b3a1f 100644
--- a/README.md
+++ b/README.md
@@ -7,15 +7,11 @@ Oqtane uses Blazor, a new web framework for .NET Core that lets you build intera
**To get started with Oqtane:**
- 1. Oqtane is currently compatible with **[.NET Core 3.0 Preview 8 SDK (3.0.0-preview8.19405.7)](https://dotnet.microsoft.com/download/dotnet-core/3.0)**. Microsoft continues to release new versions of .NET Core 3.0 on a regular basis and we do our best to keep up; however, for the best results you should use the most compatible .NET Core 3.0 version.
+ 1. Oqtane is currently compatible with **[.NET Core 3.0 Preview 9 SDK (3.0.0-preview9.19424.4)](https://dotnet.microsoft.com/download/dotnet-core/3.0)**.
- 2. Install the latest **Preview** edition of [Visual Studio 2019](https://visualstudio.com/preview) with the **ASP.NET and web development** workload.
+ 2. Install the latest **Preview** edition of [Visual Studio 2019](https://visualstudio.com/preview) with the **ASP.NET and web development** workload. Installing the latest **Preview** edition will also install the latest preview of .NET Core 3.
- 3. Install the latest [Blazor extension](https://go.microsoft.com/fwlink/?linkid=870389) from the Visual Studio Marketplace.
-
- 4. Enable Visual Studio to use preview SDKs: Open **Tools** > **Options** in the menu bar. Open the **Environment** node. Open the **Preview Features** tab. Check the box for **Use previews of the .NET Core SDK**. Select **OK**.
-
- 5. Download or Clone the Oqtane source code to your local system. Open the **Oqtane.sln** solution file. If you want to develop using **server-side** Blazor ( which includes a full debugging experience in Visual Studio ) you should choose to Build the solution using the default Debug configuration. If you want to develop using **client-side** Blazor ( WebAssembly ) you should first choose the "Wasm" configuration option in the Visual Studio toolbar and then Build.
+ 3. Download or Clone the Oqtane source code to your local system. Open the **Oqtane.sln** solution file. If you want to develop using **server-side** Blazor ( which includes a full debugging experience in Visual Studio ) you should choose to Build the solution using the default Debug configuration. If you want to develop using **client-side** Blazor ( WebAssembly ) you should first choose the "Wasm" configuration option in the Visual Studio toolbar and then Build.
NOTE: If you have already installed a previous version of Oqtane and you wish to install a newer version, there is currently no upgrade path from one version to the next. The recommended upgrade approach is to get the latest code and build it, and then reset the DefaultConnection value to "" in the appsettings.json file in the Oqtane.server project. This will trigger a re-install when you run the application which will execute the latest database scripts.