Primeiros passos
O RayCraft Free vem do nuget.org. O RayCraft Complete vem de um feed NuGet privado e requer uma licença ativa e um token de acesso.
1. RayCraft Free
dotnet add package RayCraft.Blazor 2. RayCraft Complete
O feed é https://nuget.raycraft.dev/v3/index.json, o nome de usuário é rcf e a senha é o seu token (ele começa com rcf_).
- 1Criar um token
Entre em auth.raycraft.dev, abra Acesso aos pacotes e crie um token. Ele é mostrado apenas uma vez, portanto copie-o imediatamente. Você pode ter até 10 tokens por licença; um token revogado deixa de funcionar na hora.
- 2Adicionar o feed no seu computador
O comando grava a origem no
nuget.configdo seu usuário, não no projeto.
dotnet nuget add source https://nuget.raycraft.dev/v3/index.json --name RayCraft --username rcf --password <YOUR_TOKEN> --store-password-in-clear-text --store-password-in-clear-text é necessário no Linux, no macOS e em agentes de build. No Windows você pode omiti-lo e a senha é criptografada para o seu usuário.
Mantenha o token em segredo. Não o coloque no repositório, em um nuget.config versionado nem em e-mails para o suporte (os últimos 4 caracteres bastam).
Servidor de build
Coloque no repositório um nuget.config que leia o token de uma variável e defina RAYCRAFT_FEED_TOKEN como segredo no seu sistema de build.
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<add key="RayCraft" value="https://nuget.raycraft.dev/v3/index.json" />
</packageSources>
<packageSourceCredentials>
<RayCraft>
<add key="Username" value="rcf" />
<add key="ClearTextPassword" value="%RAYCRAFT_FEED_TOKEN%" />
</RayCraft>
</packageSourceCredentials>
</configuration> Instalar os pacotes
dotnet add package RayCraft.Blazor.Complete --source RayCraft
dotnet restore | Pacote | Para que serve |
|---|---|
RayCraft.Blazor.Complete | Componentes, estilos e scripts (o pacote principal). |
RayCraft.Blazor.Complete.Office | Controles para documentos, planilhas, apresentações e PDF. Requer o pacote principal. |
RayCraft.Blazor.Complete.Editor | Editor de texto formatado (HTML, Markdown, JSON e e-mail). Requer o pacote principal. |
RayCraft.Blazor.Complete.Office.Ocr.Tesseract | Opcional: reconhecimento de texto em páginas de PDF digitalizadas (somente Windows). Requer o Office. |
RayCraft.Blazor.Complete.Office.Ocr.Tesseract.Data | Modelos de idioma para o pacote anterior. |
Não instale o RayCraft.Blazor gratuito no mesmo aplicativo que o Complete: eles têm os mesmos nomes de assembly e de namespace. Os pacotes funcionam com Server, WebAssembly e Auto.
Registrar e usar
Em Program.cs (no WebAssembly e no Auto, também no projeto cliente):
using RayCraft.Blazor;
using RayCraft.Blazor.Office;
builder.Services.AddRayCraft();
builder.Services.AddRayCraftOffice(); Em Components/App.razor defina o tema em html e adicione os arquivos:
<html lang="en" data-raycraft-theme="light">
<head>
<link rel="stylesheet" href="_content/RayCraft.Blazor/css/raycraft.css" />
<link rel="stylesheet" href="_content/RayCraft.Blazor.Office/css/raycraft-office.css" />
</head>
<body>
<Routes @rendermode="InteractiveServer" />
<script src="_content/RayCraft.Blazor/raycraft.js"></script>
<script src="_framework/blazor.web.js"></script>
</body>
</html> Em Components/_Imports.razor:
@using RayCraft.Blazor
@using RayCraft.Blazor.Components Depois os controles podem ser usados diretamente, por exemplo <ThemeMenu />, <DialogHost /> e <SnackbarHost />. A linha AddRayCraftOffice e a folha de estilos do Office só são necessárias com o pacote Office.
O modelo dotnet new blazor traz seu próprio Components/Layout/NavMenu.razor com o mesmo nome de tag do NavMenu do pacote, e o build para com RZ9985. Exclua-o e remova seu uso de MainLayout.razor.
Verificar o acesso
Sem token, o feed responde 401, o que mostra que o endereço está correto e o acesso está protegido. Com token, uma verificação somente de leitura:
curl -s -u rcf:$RAYCRAFT_FEED_TOKEN https://nuget.raycraft.dev/v3/index.json Esperado: JSON com version e uma lista resources.
Problemas comuns
| Sintoma | Causa |
|---|---|
| 401 ou 403 no restore | O token foi revogado, a licença não está ativa ou outra origem com o mesmo nome substitui o feed. |
| Pacote não encontrado | A versão foi lançada depois do fim da sua licença: renove ou use uma versão mais antiga. |
| Funciona localmente, não no servidor de build | A variável do token não está definida. |
Para qualquer outro assunto, escreva para support@raycraft.dev com o nome e a versão do pacote, a plataforma, a versão do .NET e as linhas do feed de dotnet restore -v d (sem o token).