26.04.2022 LiveSharp 2.0.35 and LiveSharp.Server 2.1.2
Make sure to update to the most recent server and package versions to take advantage of license-free LiveSharp
Make sure to update to the most recent server and package versions to take advantage of license-free LiveSharp
Due to Microsoft implementing their own hot reload in .NET 6, most of the paid LiveSharp customers unsubscribed. This means that I cannot support myself with LiveSharp subscriptions any longer. However, there are still many issues with the built-in hot reload, making it unusable in certain situations. That’s why I decided to open up LiveSharp and make it free for everyone.
My only wish with LiveSharp was to have a live (hot reload) development experience in .NET. With version 6 this has partly come to fruition. Hopefully, Microsoft gets their shit together and fixes many issues that prevent the current hot reload from being usable in bigger applications. Until then, LiveSharp can still be of use to some people including me.
If someone is interested in diving into LiveSharp code and fixing something, I’ll always be available to help on Gitter or Discord.
Also, I’m canceling all the active subscriptions so that people don’t get charged anymore.
Repository link: https://github.com/ionoy/LiveSharp
livesharp
command, not on every application startNB! Make sure you update LiveSharp.Server (`dotnet tool update LiveSharp.Server –global`) along with the NuGet package.
This fixes a weird issue where project compilation hangs without any diagnostic messages.
NB! You will need to restart Visual Studio and do a full solution rebuild after the NuGet package update. Otherwise, you might encounter weird startup crashes.
LiveSharp.dashboard.cs
LiveSharp.dashboard.cs
/ Configure
LiveSharp.dashboard.cs
missingThis is a big update that contains huge rewrites, that’s why I’m releasing it as a beta first. Feedback would be really appreciated!
This server update is required for the next NuGet package release to support the latest C# features.
NB! Please make sure that you have .net 5.0 installed before upgrading to LiveSharp.Server 1.7.0
Use the “BF20” coupon code to save 40% on all yearly subscriptions!
loadAssembly
warnings. You can still see them is you run livesharp
with debug
argument.ref
parameter not working properly bug[LiveSharpExclude]
attribute if you want to exclude certain types of methods from injectionref
parameters supportlivesharp.config
file is discontinuedLiveSharp.dashboard.cs
added to your project. This file contains configuration for LiveSharp as well as easy access to the LiveSharp Runtime.LiveSharp.dashboard.cs
even if you are not in debugging mode. Make sure to use LIVESHARP_DISABLE
compilation symbol to remove LiveSharp from deployment builds.Build
method to your user controls and pages it will automatically be called on every update.disableBlazorCSS
option to livesharp.config
runtime section. Set this option to true
to disable CSS hot reload in BlazorKnownTypes
call fixedSystem.Private.CoreLib
reference bugReflectionTypeLoadException.Types
are loaded if the exception occurs during initializationTrace.WriteLine
output without attaching to the processtry
in async methods bug??
bug that occurred in certain casesstruct
pageHotReloadMethod
setting in livesharp.config
More info here: https://www.livesharp.net/help/ICommand
properties to the VM in runtimelivesharp.config
from livesharp.rules
default
keyword issuesbase
constructor call issueInvalid IL
issue for generic methodsfor
loop is now properly displayed in the debugger (https://www.youtube.com/watch?v=xwpRqD8DThw)Server application has a proper debugger interface now. It can be found under the Inspector tab. Add the method you want to debug and see full execution flow when the method is invoked.
NuGet package fixes CustomRenderer support that was broken on Xamarin iOS and Xamarin UWP (possibly on some other platforms as well).
Live debugging is finally here for LiveSharp! Make sure to update both the LiveSharp Server Application and the NuGet package. Then, after connecting to the app, head to Inspector tab, and add a method you want to debug. You will see a list of invocations with parameter values. Clicking on an invocation will show you the whole execution flow with all the values.
Please head to https://gitter.im/LiveSharp/Lobby and tell me what works and what needs to be improved. I really appreciate your feedback!