CarloSharp 1.0.7
dotnet add package CarloSharp --version 1.0.7
NuGet\Install-Package CarloSharp -Version 1.0.7
<PackageReference Include="CarloSharp" Version="1.0.7" />
paket add CarloSharp --version 1.0.7
#r "nuget: CarloSharp, 1.0.7"
// Install CarloSharp as a Cake Addin #addin nuget:?package=CarloSharp&version=1.0.7 // Install CarloSharp as a Cake Tool #tool nuget:?package=CarloSharp&version=1.0.7
Carlo#
Web rendering surface for .NET applications.
This is a port of the Google Carlo project (https://github.com/GoogleChromeLabs/carlo) to .NET
Nuget package
Nuget page: https://www.nuget.org/packages/CarloSharp/1.0.4
Adding the package using Package Manager:
Install-Package CarloSharp -Version 1.0.4
Adding the package using .Net CLI:
dotnet add package CarloSharp --version 1.0.4
Requirements
.NET Core SDK 2.1+ (https://www.microsoft.com/net/learn/get-started/windows)
For the Angular and React samples Node JS (https://nodejs.org/en/) is also required.
Building and running the Angular sample
To run the Angular sample application you must first restore the Angular NPM dependencies.
Open a terminal at Samples/Angular/wwwroot and execute:
npm install
After this step you can build and run the project using:
dotnet run
using CarloSharp.Samples.Angular.Controllers;
using System;
using System.Threading;
namespace CarloSharp.Samples.Angular
{
public class Program
{
private static ManualResetEvent _exitEvent = new ManualResetEvent(false);
public static void Main(string[] args)
{
var app = Carlo.Launch(new Options()
{
Title = "Carlo# - Angular",
Width = 1024,
Height = 600,
Channel = new string[] { "stable" }
});
var controller = new WeatherForecastController(app.MainWindow);
app.ServeFolder("./wwwroot/dist");
app.Load("index.html");
app.Exit += OnAppExit;
_exitEvent.WaitOne();
}
private static void OnAppExit(object sender, EventArgs args)
{
_exitEvent.Set();
}
}
}
using CarloSharp.Samples.Angular.Model;
using System;
using System.Linq;
namespace CarloSharp.Samples.Angular.Controllers
{
public class WeatherForecastController
{
class WeatherForecastArgs
{
public string City { get; set; }
public bool UseCelsius { get; set; }
}
private static string[] Summaries = new[]
{
"Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching"
};
public WeatherForecastController(Window window)
{
window.IpcMessageReceived += OnIpcMessageReceived;
}
private void OnIpcMessageReceived(object sender, IpcMessageEventArgs e)
{
if (e.Channel == "getWeatherForecasts")
{
var args = e.Message.ToObject<WeatherForecastArgs>();
e.Result = GetWeatherForecasts(args.City, args.UseCelsius);
}
}
private WeatherForecast[] GetWeatherForecasts(string city, bool useCelsius)
{
var random = new Random();
return Enumerable.Range(1, 5).Select(index =>
new WeatherForecast
{
DateFormatted = DateTime.Now.AddDays(index).ToString("d"),
TemperatureC = random.Next(-20, 55),
Summary = Summaries[random.Next(Summaries.Length)]
}).ToArray();
}
}
}
import { Component } from '@angular/core';
interface Ipc {
sendSync(channel : string, message : any) : any;
}
declare global {
interface Window { ipc: Ipc; }
}
@Component({
selector: 'app-fetch-data',
templateUrl: './fetch-data.component.html'
})
export class FetchDataComponent {
public forecasts: WeatherForecast[];
constructor() {
this.loadAsync();
}
async loadAsync() {
this.forecasts = await window.ipc.sendSync('getWeatherForecasts', { City: 'New York', UseCelsius: true });
}
}
interface WeatherForecast {
dateFormatted: string;
temperatureC: number;
temperatureF: number;
summary: string;
}
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- PuppeteerSharp (>= 1.17.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.