InfiniLore.Photino.Shared 0.1.0-preview.3

Prefix Reserved
This is a prerelease version of InfiniLore.Photino.Shared.
dotnet add package InfiniLore.Photino.Shared --version 0.1.0-preview.3
                    
NuGet\Install-Package InfiniLore.Photino.Shared -Version 0.1.0-preview.3
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="InfiniLore.Photino.Shared" Version="0.1.0-preview.3" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="InfiniLore.Photino.Shared" Version="0.1.0-preview.3" />
                    
Directory.Packages.props
<PackageReference Include="InfiniLore.Photino.Shared" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add InfiniLore.Photino.Shared --version 0.1.0-preview.3
                    
#r "nuget: InfiniLore.Photino.Shared, 0.1.0-preview.3"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package InfiniLore.Photino.Shared@0.1.0-preview.3
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=InfiniLore.Photino.Shared&version=0.1.0-preview.3&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=InfiniLore.Photino.Shared&version=0.1.0-preview.3&prerelease
                    
Install as a Cake Tool

InfiniLore.Photino

A rework of the Photino.Net, Photino.Net.Server and Photino.Blazor projects, to make them more modern and easier to use within a DI container.

This project is mainly meant to be used as a dependency for Infinilore, so my goals are focused on that, but it should be possible to use this as a replacement for the original Photino.NET, Photino.NET.Server and Photino.Blazor projects, minding the breaking changes mentioned below.

This project is not affected with- or endorsed by the original authors of Photino.NET and Photino.Blazor.


Status

This project is currently in a very early stage of converting the old code base to more modern C# and .NET.

Breaking changes

Although I have been able to keep most of the original API so far, the following breaking changes have been made:

Solution wide changes

  • Nullability: The entire project now has nullable enabled, this means that some of the return types of methods have been changed from object to object?, but most of the time this shouldn't be a problem given this now mimics what the actual code base was doing.

Photino.NET changes

  • PhotinoWindow.Log() and PhotinoWindow.Verbosity have been removed from the codebase and have been replaced with a ILogger approach so proper logging handlers can be injected. When a logger isn't defined in the DI container creating the PhotinoWindow, it will create a default console logger that will log to the console.
  • PhotinoWindow.Fullscreen is not monitor aware and resizes to the original size of the window when you exit fullscreen.

Photino.NET.Server changes

  • PhotinoServer(webRootFolder:...) is no longer hard coded to depend on starting from the Resources/ folder and is now fully configurable and has the default value of wwwroot.
  • PhotinoServer.CreateStaticFileServer() is completely replaced by a combination of PhotinoServerBuilder.Create() and PhotinoServerBuilder.Build() to create the static file server in a more fluent API way. This also adds the PhotinoServer.GetAttachedWindow() method to immediately get an attached window to the server without further setup.

Examples

Repo history

This repo was originally forked from Photino.NET and then the history of the Photino.Blazor and Photino.Net.Server repositories were merged into this. This means that GitHub will only show a direct reference to the original Photino.NET, when trying to create pull requests. By merging the histories, it was possible to ease development a lot, especially whilst also preserving the original commit history and attribution from the contributors of Photino.NET.

License

Unlike the other projects in the InfiniLore ecosystem, which all follow GPL or LGPL, this repo follows the same Apache-2.0 license file from Photino.NET to adhere to the original licensing without the need for extra modifications to the license.

Product Compatible and additional computed target framework versions.
.NET net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net9.0

    • No dependencies.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on InfiniLore.Photino.Shared:

Package Downloads
InfiniLore.Photino.NET

Package Description

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.1.0-preview.3 187 9/19/2025
0.1.0-preview.2 189 9/19/2025
0.1.0-preview.1 203 9/19/2025