Home

Awesome

Codexcite.Reloader

Lightweight library for "live reloading" XAML pages in Xamarin.Forms on Android, UWP and iOS. Allows simultaneous updating of multiple connected clients - great if you need to see the impact of your changes instantly on different platforms.

Sample GIF

Similar to Xamarin LiveReload that unfortunately was discontinued and stopped working for me after updating to Xamarin.Forms 3.5.

Usage

Codexcite.Reloader.Monitor

Acts as a TCP server and monitors a specific folder (and sub-folders) for changes to .xaml files. Sends update notifications to the connected clients upon file changes. Update: now the Visual Studio extension is available, check below for details.

dotnet .\Codexcite.Reloader.Monitor.Console.dll -path [PATH] -host [HOST] -port [PORT]

Parameters:

Codexcite.Reloader.Forms

Runs inside the Xamarin.Forms app, connects to the Codexcite.Reloader.Monitor server. Updates the XAML for the current displayed page upon receiving notifications from the server.

<PackageReference Condition="'$(Configuration)'=='Debug'" Include="Codexcite.Reloader.Forms" Version="1.2.1" />
  <ItemGroup>
    ... other package references here
    <PackageReference Include="System.Runtime.CompilerServices.Unsafe" Version="4.5.2" />
  </ItemGroup>
  <ItemGroup>
    <Reference Include="System.Threading.Tasks.Extensions">
    <HintPath>$(UserProfile)\.nuget\packages\system.threading.tasks.extensions\4.5.2\lib\netstandard2.0\System.Threading.Tasks.Extensions.dll</HintPath>
    </Reference>
  </ItemGroup>
public App()
{
#if DEBUG
  Reloader.Forms.Reloader.Init("[your local ip here]", 5500);
#endif

  // normal initialization here
  InitializeComponent();

  MainPage = new NavigationPage(new MainPage());
}

Codexcite.Reloader.Monitor Visual Studio extension

Remarks

License

The MIT License (MIT) see License file

Contributing

Please feel free to add Issues or Pull Requests.