How to run Blazor app projet in subfolder of Razor Dotnet core projet? - razor

I have one Asp Dot Net Core project, using Razor page, that is the ClientApp.
I create a new projet, using Blazor, that is the AdminApp.
I reference the AdminApp within the ClientApp.
I would like to call the AdminApp, from the ClientApp, when url is "clientapp/admin"
I cannot make it work.
Could you help me ?

Personally I would convert the ClientApp to blazor which should just require a couple lines being added to the startup.cs and then you can just import Admin components or update the route on top of the admin pages to include /admin/admincomponentname
This is the beauty of Blazor since serverside Blazor is essentially just razor pages with a small difference engine to run like a SPA.

Related

Razor views custom scaffolding in .NET 6

Before upgrading my web application to .NET 6 a was able to scaffold Razor views with custom templates located in ProjectRoot/Templates/ViewGenerator as shown in this image. This allowed me to override default templates. After upgrading to .NET6, VS2022 is using default templates to generate these views. I tried to find some info about the new path it's expecting but i had no luck. Any help is really appreciated.

Should i create one page angular 6 application without use ng new myapp command?

I need to create one page or two page using angular 6 but I don't want to use ng new myapp command. please guide me hows to use on one simple html page ?
Angular create directory structure which will be required for transpiling your code from typescript to javascript bundles. Also for the compilation it needs many npm dependencies, which directly managed by angular-cli. So you always should use angular-cli i.e. ng new myapp.
If you are just prototyping, you can use https://stackblitz.com/ which provided all VS code functionality in browser without any setup.
Follow the official angular tutorial.
Angular is built upon the concept of single page applications.
So if you want to create an application with 2 pages, what you need to do is creating two components (using ng generate component command) and switch between them using routing. Follow the documentation.

Razor Class Library in ASP .Net Core 2.1.1

I used to embed some of my Razor views for mailing in a class library which was using ASP .Net Core 2.1.0-preview1-final and it was working fine.
Here is the configuration in the .csproj file:
Since I upgraded the .Net Core version to 2.1.1 which is the final one, I can not use the embedded views anymore.
I know about the new Razor Class Library concept but I need to pass my views to a ViewRenderer service which basically converts the view to string to be sent as an email.
The viewrenderer service was finding the views before but now it doesn't find them and I get the following error:
VIEW does not match any available view
How can I fix this issue?
I was facing the exact same issue, setting CopyRefAssembliesToPublishDirectory to true in the csproj file fixed it. your csproj file should look like this :
...
<PropertyGroup>
<TargetFramework>netcoreapp2.1</TargetFramework>
<CopyRefAssembliesToPublishDirectory>true</CopyRefAssembliesToPublishDirectory>
</PropertyGroup>
...

Can I use browserlink with an 'html' project?

I want to create an HTML project that works with browserlink. I created a blank c# project and set it to type 'class library' so that visual studio stops complaining that there's no 'main' entry point. I created a page index.html and setup a corresponding IIS website.
What do I do now? I can't start the project, because it's not a web project. Will this work, or do I need to create something like an MVC project?

How to set up visual studio to create CSHTML files in (Umbraco) Project

So, i'm developing my razor macroscripts in Visual studio for my Umbraco project.
Everything is working fine, but there are two things really annoying.
If I want to make a new CSHTML file the best solution for this is to duplicate an existing file.
I dont have full razor IntelliSense like e.g. Html.Raw
Is there a way to configure my project to use this features? Didn't find a .cshtml template yet.
You need to have the MVC Framework installed, then when you open the project as a website, you should be able to create and edit cshtml files with syntax highlighting. See my answer to the following post for more details:
Setting up local development environment for Umbraco
If your project is a web site/application then the mvc templates aren't available (they only show up in MVC projects). You can just create a text file and name it with the .cshtml extension though (you could set up your own template for this in VS if you wanted to).
To get intellisense in your Razor files, see Doug Robar's blog post on the subject
As an alternative if you go into the Umbraco admin, go to the 'Developer' section and right click on 'Scripting Files' you can create razor scripts directly (and this will save the new .cshtml directly into your 'macroScripts' folder - although in VS2010 you will need to right click on the new script and choose 'include in project').
Also this will allow you to base your new razor macroscript on one of the pre-built snippets so you may get a bit of core functionality for free.
From Umbraco 6 on it's very convenient to install Umbraco on your local file system with Visual Studio and NuGet. Given that you have the MVC Framework installed and you use Visual Studio 2012 or above, you get full Razor support in Visual studio.
Umbraco Our has a great blogpost about this where they described the steps below in detail (with screenshots!).
Create an Empty Web Application.
Install Umbraco using Manage Nuget Packages ('Umbraco CMS') or the Package manager console (Install-Package UmbracoCms)
NuGet will then download dependencies and will install all of Umbraco's files in your new solution. During this process it will ask if it is allowed to overwrite your web.config file. (Make a back up of your existing web.config if you install Umbraco in an existing project)
Finally, don't forget to run your project hitting F5. You'll see that whenever you try to add or edit a file in your views folder you have razor support and intellisense