Setup-Leitfaden
Es gibt einen schnelleren Weg
Alles auf dieser Seite kann für Sie erledigt werden. Der Power Portals Pro MCP-Server kennt dieses Framework, liest Ihre Dataverse-Umgebung und Ihr Azure-Abonnement und kann die App-Registrierungen, den Anwendungsnutzer, den App Service und den E-Mail-Absender selbst erstellen – er fragt Sie vor jeder Änderung und teilt Ihnen mit, was sie kostet. Die manuellen Schritte sind darunter aufgeführt und bleiben genau, egal ob Sie es nutzen oder nicht. Für die gesamte Reise – von einem leeren Ordner bis zu einer gesicherten Seite mit eigenen Daten – folgen Sie dem AI Quickstart.
Lass einen KI-Agenten die Einrichtung übernehmen
Das Setup ist der Teil dieses Frameworks, bei dem keine Komponentendokumentation hilft: Es umfasst dotnet newzwei Entra-App-Registrierungen, einen Dataverse-Anwendungsnutzer, eine verwaltete Lösung, einen E-Mail-Absender und einen App-Service, und jeder von ihnen erzeugt einen Wert, der im richtigen Konfigurationsschlüssel landen muss. Der MCP-Server existiert, weil diese Sequenz erkennbar ist, und es ist die Art von Dingen, die ein Agent mit den richtigen Tools gut macht.
1. Installieren Sie es
Installiere es im Benutzerumfang, sodass es in jedem Ordner verfügbar ist – auch in einem leeren, in den du ein Projekt gleich einbauen willst, und genau dort kann es dir sagen, welche Vorlage du verwenden solltest und welche Optionen sie bedeuten:
claude mcp add --scope user powerportalspro -- dnx PowerPortalsPro.Mcp --yes
Visual Studio und Cursor lesen eigene .mcp.json; die MCP-Server-Seite enthält jeweils den Block. Projekte, die aus den Vorlagen erstellt wurden, sind bereits verkabelt, wobei die Version an die Pakete des Projekts angepinnt ist. dnx Wird mit dem .NET 10 SDK ausgeliefert, das du bereits hast.
2. Melden Sie sich in Ihrem Projektordner an
Zwei Anmeldungen, denn es sind zwei verschiedene Dinge: eine für die Dataverse-Umgebung und eine für das Azure-Abonnement. Führen Sie beide in dem Ordner aus, in dem Ihr Projekt befindet sich – jede Bindung gehört nur zu diesem Ordner, sodass ein Berater mit mehreren offenen Kunden jeweils einen gleichzeitig auf seine eigene Umgebung und das eigene Abonnement zeigt:
cd C:\Code\MyPortal
dnx PowerPortalsPro.Mcp login --environment https://yourorg.crm.dynamics.com
dnx PowerPortalsPro.Mcp azure login
Beide verwenden standardmäßig einen Gerätecode, also funktionieren sie über SSH, in einem Container und in WSL, und du kannst sie auf deinem Handy fertigstellen. Nichts ändert sich maschinenweit – der Server liest oder verändert nie, was az pac eingeloggt ist, was zwei Projekte ermöglicht, zwei Kunden anzusprechen, ohne dass einer den anderen überspringt. Die Azure-Anmeldung ist nur für die Bereitstellungstools erforderlich; überspringe sie, wenn du nur lokal einrichtest.
3. Bitten Sie sie, damit zu beginnen
Es gibt keinen einzelnen Befehl, der alles absichtlich macht – siehe die untenstehende Anmerkung. Richten Sie Ihren Agenten stattdessen auf den Plan, und er wird ihn gemeinsam mit Ihnen durchgehen:
Use the PowerPortalsPro MCP server to set this portal up.
Start with get_setup_plan, then check_setup, and tell me what is still missing.
get_setup_plan ist die geordnete Liste dessen, was vorhanden sein muss und was jeder Schritt erzeugt; check_setup berichtet, was dieser Ordner noch fehlt; get_setup_script schreibt ein überprüfbares Skript für die Schritte, die du lieber selbst ausführen möchtest. Für das Deployment get_deployment_plan und check_deployment erledige dasselbe für Azure – siehe die Azure-Deployment-Seite .
Anmerkung
Warum es keinen einzigen "Alles tun"-Befehl gibt. Jedes Tool, das etwas erstellt, fragt zuerst nach Ihnen und nennt die Kosten, und diese pro-schrittige Genehmigung ist der Grund, warum diese Tools überhaupt App-Registrierungen und App Services erstellen dürfen. Ein Befehl, der alles erledigt, würde entweder zehnmal fragen, was schlimmer ist als ein Agent, der Sie dabei begleitet, oder einmal fragen – was bedeutet, tenant-weite Verzeichnisobjekte zu genehmigen, eine monatliche Rechnung und Dataverse schreibt auf ein einziges Ja. Die Reihenfolge ist erkennbar und der Agent kann sie lesen; die Genehmigungen liegen bei Ihnen.
Aufbau von Hand
Die gleiche Sequenz, selbst gemacht. Lesenswert, auch wenn du den Agenten benutzt: Es kommt darauf an, was die Tools tun, und das Wissen ist der Unterschied zwischen der Diagnose eines fehlgeschlagenen Setups und dem Raten eines Setups.
1. Installieren Sie die Vorlagen
Die Vorlagen unterstützen ein vollständiges Portal – Dataverse-Konnektivität, Authentifizierung, Sicherheitshandler, Lokalisierung und die Identitätsseiten – und funktionieren in Visual Studio 2022 und 2026 oder über die Kommandozeile. Installiere das Pack einmal:
dotnet new install PowerPortalsPro.AspNetCore.Templates
2. Das Projekt erstellen
Das Paket installiert zwei Vorlagen, und der Power Portals Pro-Funktionsumfang ist bei beiden identisch – Grids, Editoren, Sicherheit, Lokalisierung und die Identitätsseiten verhalten sich in beide Richtungen gleich. Wählen Sie das Frontend, in dem Ihr Team arbeiten möchte:
- Power Portals Pro React Web App (
powerportalspro-react) — ein ASP.NET Core-Host, kombiniert mit einer React + Vite + TypeScript einseitigen App, die auf Fluent UI React basiert. Empfohlen für neue Portale, für moderne Frontend-Tools und die schnelle Hot-Reload-Entwicklungsschleife. - Power Portals Pro Web App (
powerportalspro) — eine Blazor-Webapp, die auf Fluent UI Blazor basiert, komplett C# End-to-End. Die richtige Wahl für ein Team, das lieber keine JavaScript-Toolchain angehen möchte, und das einzige von beiden, das die--interactivityOption (Server,WebAssemblyoderAuto) wählt, um seinen Rendermodus zu wählen.
In Visual Studio erscheinen beide im Dialogfeld für neues Projekt:
Beides kann stattdessen über die Kommandozeile erstellt werden, was auch die Art ist, wie man es skripten würde. Die Seite Projekt-Vorlagen umfasst jede Option und deren Standard:
dotnet new powerportalspro-react -o MyPortal
dotnet new powerportalspro -o MyPortal --interactivity Server
3. Konfigurieren Sie die Dataverse-Verbindung
Program.cs liest die Verbindungsdetails aus der Konfiguration:
Fügen Sie die Werte in Benutzergeheimnisse statt appsettings.jsonein, damit ein Client-Geheimnis nie zur Quellcodekontrolle gelangt. Klicken Sie mit der rechten Maustaste auf das Projekt und wählen Sie Benutzergeheimnisse verwalten:
Ersetzen Sie die Platzhalter durch Ihre eigenen. ClientId und ClientSecret stammen aus einer Entra-App-Registrierung zusammen mit einem Dataverse-Anwendungsbenutzer – die Registrierung allein authentifiziert sich und wird dann bei jedem Anruf abgelehnt, sodass beide Hälften benötigt werden. Die Dataverse-Connection-Seite erklärt, wie Sie sie erstellen:
{
"D365":
{
"Url": "https://yoururl.crm.dynamics.com",
"ClientId": "",
"ClientSecret": ""
}
}
4. Installation der verwalteten Lösung
Laden Sie die neueste verwaltete Lösung von der Versionsseite herunter und importieren Sie sie in Ihre Umgebung. Sie stellt die eigenen Tabellen des Frameworks und die Lizenzprüfungsaktion bereit – bis sie installiert ist, wird jeder Datenendpunkt abgelehnt, ohne dass im Symptom etwas auf die Ursache hinweist.
Öffnen Sie die Power Portals Pro App in Ihrer Umgebung:
Unter Portal-Website erstellen Sie einen Datensatz für Ihre Seite und geben Sie Ihren Lizenzschlüssel ein.
Anmerkung
Noch kein Schlüssel? Beantrage eine Testaufnahme. Die Lizenzseite umfasst den vollständigen Erhalt und die Registrierung eines Schlüssels.
5. Microsoft-Anmeldung (optional)
Die Anmeldung bei Microsoft ist gerüstet, aber ausgeschlossen. Entkommentieren Sie diesen Block in Program.cs:
Sie benötigt eine eigene Entra-App-Registrierung – getrennt von der in Schritt 3, sodass das Drehen eines Geheimnisses sowohl die Anmeldung als auch den Datenzugriff nicht beeinträchtigen kann. Die Seite zum Einmelden mit der Entra ID umfasst die Registrierung und alle benötigten Objekte.
6. Lass es laufen
Drücke F5. Was startet, ist ein funktionierendes Portal statt einer leeren Hülle: Beispielseiten zu Konten und Kontakten, die Seiten zur Identitäts- und Kontoverwaltung, Navigation sowie Theme- und Seiteneinstellungen – alles steht dir zur Verfügung.
Die Lösung beinhaltet außerdem ein <YourProject>.Tests.Integration Projekt mit Basen für Endpunkt-, Berechtigungs- und Service-Layer-Tests. Siehe Integrationstests.
