Skip to content

Primeros pasos ​

Crear la estructura de un proyecto de plugin ​

Un plugin es una biblioteca de clases .NET normal que apunta al mismo framework de destino que la aplicación host (net10.0-windows), y que referencia PluginSdk:

xml
<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>net10.0-windows</TargetFramework>
    <Nullable>enable</Nullable>
    <UseWPF>true</UseWPF>
    <AssemblyName>YourCompany.Plugins.YourPlugin</AssemblyName>
    <Version>1.0.0</Version>
  </PropertyGroup>
  <ItemGroup>
    <!-- Reference SwiftList.PluginSdk.dll from your SwiftList install directory, or PluginSdk.csproj
         directly if you're building inside the SwiftList repo itself. -->
    <ProjectReference Include="..\..\PluginSdk\PluginSdk.csproj" />
  </ItemGroup>
</Project>

UseWPF solo es necesario si tu plugin renderiza alguna interfaz WPF propia (una vista previa personalizada, un diccionario de recursos de tema, etc.) — un plugin que sea pura lógica de proveedor de búsqueda no lo necesita.

Implementar IPlugin ​

Todo plugin tiene exactamente un punto de entrada que implementa IPlugin:

csharp
public class YourPlugin : IPlugin
{
    public string Name => "Your Plugin";
}

A partir de ahí, implementa las interfaces adicionales que tu plugin realmente necesite — consulta la Referencia del SDK de Plugins para ver la lista completa. La mayoría de los plugins reales implementan IPlugin más una o dos más (CoreExtensionsPlugin implementa IPlugin, IActionProvider e IConfigurable; ver Plugins de ejemplo).

Cargarlo ​

Compila tu plugin y copia la DLL resultante en la carpeta Plugins/ de la App de SwiftList, junto a SwiftList.App.exe — la App escanea esa carpeta al iniciarse y carga todos los ensamblados de plugin que encuentra. Consulta Empaquetado y despliegue para ver cómo los plugins distribuidos automatizan este paso como parte de su propia compilación.

Depuración ​

Usa Logger.Log(message, level) (de PluginSdk) en todo tu plugin — su salida aparece en la pestaña de registro de la App, en Configuración → Estado del Servicio, filtrable por nivel y buscable por palabra clave, exactamente igual que los propios registros de la aplicación host.