Pubblicazione di estensioniPublishing Extensions

Si applica a: Windows Admin Center, Windows Admin Center PreviewApplies To: Windows Admin Center, Windows Admin Center Preview

Dopo aver sviluppato l'estensione, è necessario pubblicarla e renderla disponibile ad altri utenti per il test o l'utilizzo.Once you've developed your extension, you will want to publish it and make it available to others to test or use. A seconda del pubblico e dello scopo della pubblicazione, sono disponibili alcune opzioni che verranno presentate di seguito insieme ai passaggi e ai requisiti per la pubblicazione.Depending on your audience and purpose of publishing, there are a few options which we'll introduce below along with the steps and requirements for publishing.

Opzioni di pubblicazionePublishing Options

Sono disponibili tre opzioni principali per le origini dei pacchetti configurabili supportate dal centro di amministrazione di Windows:There are three primary options for configurable package sources that Windows Admin Center supports:

  • Feed NuGet del centro di amministrazione di Windows pubblico MicrosoftMicrosoft's public Windows Admin Center NuGet feed
  • Feed NuGet privatoYour own private NuGet feed
  • Condivisione file locale o di reteLocal or network file share

Pubblicazione nel feed di estensione dell'interfaccia di amministrazione di WindowsPublishing to the Windows Admin Center extension feed

Per impostazione predefinita, l'interfaccia di amministrazione di Windows è connessa a un feed NuGet gestito dal team del prodotto Windows Admin Center in Microsoft.By default, Windows Admin Center is connected to a NuGet feed maintained by the Windows Admin Center product team at Microsoft. Le prime versioni di anteprima delle nuove estensioni sviluppate da Microsoft possono essere pubblicate in questo feed e disponibili per gli utenti del centro di amministrazione di Windows.Early preview versions of new extensions developed by Microsoft may be published to this feed and available to Windows Admin Center users. Gli sviluppatori esterni che pianificano di compilare e rilasciare le estensioni pubblicamente possono inviare anche una richiesta di pubblicazione in questo feed.External developers planning to build and release extensions publicly may also submit a request to publish to this feed.

Pubblicazione in un feed NuGet diversoPublishing to a different NuGet feed

È anche possibile creare un feed NuGet personalizzato per pubblicare le estensioni in usando una delle numerose opzioni disponibili per configurare un'origine privata o usare un servizio di hosting NuGet.You may also create your own NuGet feed to publish your extensions to using one of the many different options for setting up a private source or using a NuGet hosting service. Il feed NuGet deve supportare l'API NuGet V2.The NuGet feed must support the NuGet v2 API. Poiché l'interfaccia di amministrazione di Windows non supporta attualmente l'autenticazione del feed, il feed deve essere configurato per consentire l'accesso in lettura a chiunque.Since Windows Admin Center does not currently support feed authentication, the feed needs to be configured to allow read access to anyone.

Pubblicazione in una condivisione filePublishing to a file share

Per limitare l'accesso dell'estensione all'organizzazione o a un gruppo limitato di utenti, è possibile usare una condivisione file SMB come feed di estensione.To restrict access of your extension to your organization or to a limited group of people, you can use an SMB file share as an extension feed. In questo caso, verranno applicate le autorizzazioni per la condivisione file e la cartella per consentire l'accesso al feed.In this case, the file share and folder permissions will be applied for allowing access to the feed.

Preparazione dell'estensione per la versionePreparing your extension for release

Assicurarsi di leggere e considerare gli argomenti di sviluppo seguenti:Make sure you read and consider the following development topics:

Provare a rilasciare come versione di anteprimaConsider releasing as a Preview release

Se si sta rilasciando una versione di anteprima dell'estensione a scopo di valutazione, è consigliabile:If you are releasing a preview version of your extension for evaluation purposes, we recommend that you:

  • Aggiungere "(Preview)" alla fine del titolo dell'estensione nel file. NuSpecAppend "(Preview)" to the end of your extension's title in the .nuspec file
  • Illustrare le limitazioni nella descrizione dell'estensione nel file nuspecExplain the limitations in your extension's description in the .nuspec file

Creazione di un pacchetto di estensioneCreating an extension package

L'interfaccia di amministrazione di Windows usa pacchetti NuGet e feed per la distribuzione e il download delle estensioni.Windows Admin Center utilizes NuGet packages and feeds for distributing and downloading extensions. Per poter spedire il pacchetto, è necessario generare un pacchetto NuGet contenente i plug-in e le estensioni.In order for your package to be shipped, you will need to generate a NuGet package containing your plugins and extensions. Un singolo pacchetto può contenere sia un'estensione dell'interfaccia utente che un plug-in del gateway. nella sezione seguente viene illustrato il processo.A single package can contain both a UI extension as well as a Gateway plugin, and the following section will walk you through the process.

1. compilare l'estensione1. Build your extension

Non appena si è pronti per iniziare a creare il pacchetto dell'estensione, creare una nuova directory nella file system, aprire una console e un CD al suo interno.As soon as you are ready to start packaging your extension, create a new directory on your file system, open a console, and CD into it. Si tratta della directory radice che verrà usata per contenere tutte le directory NuSpec e Content che compongono il pacchetto.This will be the root directory that we will use to contain all the nuspec and content directories that will make up our package. Per la durata del documento verrà fatto riferimento a questa cartella come "pacchetto NuGet".We will reference this folder as "NuGet Package" for the duration of this document.

Estensioni dell'interfaccia utenteUI Extensions

Per iniziare il processo di raccolta di tutto il contenuto necessario per un'estensione dell'interfaccia utente, eseguire "Gulp Build" nello strumento e assicurarsi che la compilazione abbia esito positivo.To begin the process on gathering all the content needed for a UI extension, run "gulp build" on your tool and make sure the build is successful. Questo processo raggruppa tutti i componenti in una cartella denominata "bundle", che si trova nella directory radice dell'estensione, allo stesso livello della directory src.This process packages all the components together in a folder called "bundle" located in the root directory of your extension (at the same level of the src directory). Copiare questa directory e tutto il relativo contenuto nella cartella "pacchetto NuGet".Copy this directory and all it's contents into the "NuGet Package" folder.

Plug-in del gatewayGateway Plugins

Usando l'infrastruttura di compilazione (potrebbe essere semplice come aprire Visual Studio e fare clic sul pulsante Compila), compilare e compilare il plug-in.Using your Build infrastructure (this could be as simple as opening Visual Studio and clicking the Build button), compile and build your plugin. Aprire la directory di output di compilazione e copiare le dll che rappresentano il plug-in e inserirle in una nuova cartella all'interno della directory "pacchetto NuGet" denominata "pacchetto".Open up your build output directory, and copy the Dll(s) that represent your plugin, and put them in a new folder inside the "NuGet Package" directory called "package". Non è necessario copiare la dll FeatureInterface, bensì solo le dll che rappresentano il codice.You do not need to copy the FeatureInterface dll, just the Dll(s) that represent your code.

2. creare il file con estensione NuSpec2. Create the .nuspec file

Per creare il pacchetto NuGet, è prima necessario creare un file con estensione NuSpec.To create the NuGet package, you need to first create a .nuspec file. Un file con estensione NuSpec è un manifesto XML che contiene i metadati del pacchetto NuGet.A .nuspec file is an XML manifest that contains NuGet package metadata. Questo manifesto viene usato per compilare il pacchetto e per fornire informazioni ai consumer.This manifest is used both to build the package and to provide information to consumers. Inserire questo file nella directory radice della cartella "NuGet Package".Place this file at the root of the "NuGet Package" folder.

Ecco un esempio di file con estensione NuSpec e l'elenco delle proprietà obbligatorie o consigliate.Here's an example .nuspec file and the list of required or recommended properties. Per lo schema completo, vedere il riferimento. NuSpec.For the full schema, see the .nuspec reference. Salvare il file con estensione NuSpec nella cartella radice del progetto con il nome di file desiderato.Save the .nuspec file to your project's root folder with a file name of your choice.

Importante

Il <id> valore nel file. NuSpec deve corrispondere al "name" valore nel file del progetto. manifest.json in caso contrario, l'estensione pubblicata non verrà caricata correttamente nell'interfaccia di amministrazione di Windows.The <id> value in the .nuspec file needs to match the "name" value in your project's manifest.json file, or else your published extension won't load successfully in Windows Admin Center.

<?xml version="1.0" encoding="utf-8"?>
<package xmlns="https://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
  <metadata>
    <id>contoso.project.extension</id>
    <version>1.0.0</version>
    <title>Contoso Hello Extension</title>
    <authors>Contoso</authors>
    <owners>Contoso</owners>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <projectUrl>https://msft-sme.myget.org/feed/windows-admin-center-feed/package/nuget/contoso.sme.hello-extension</projectUrl>
    <licenseUrl>http://YourLicenseLink</licenseUrl>
    <iconUrl>http://YourLogoLink</iconUrl>
    <description>Hello World extension by Contoso</description>
    <copyright>(c) Contoso. All rights reserved.</copyright>
    <tags></tags>
  </metadata>
  <files>
    <file src="bundle\**\*.*" target="ux" />
    <file src="package\**\*.*" target="gateway" />
  </files>
</package>
Nome proprietàProperty Name Obbligatorio/consigliatoRequired / Recommended DescrizioneDescription
packageTypepackageType NecessarioRequired Usare "WindowsAdminCenterExtension", che è il tipo di pacchetto NuGet definito per le estensioni dell'interfaccia di amministrazione di Windows.Use "WindowsAdminCenterExtension" which is the NuGet package type defined for Windows Admin Center extensions.
idid NecessarioRequired Identificatore univoco del pacchetto all'interno del feed.Unique Package identifier within the feed. Questo valore deve corrispondere al valore "Name" nel manifest.jsdel progetto nel file.This value needs to match the "name" value in your project's manifest.json file. Vedere Choosing a unique package identifier and setting the version number (Scelta di un identificatore univoco del pacchetto e impostazione del numero di versione) per altre indicazioni.See Choosing a unique package identifier for guidance.
titletitle Obbligatorio per la pubblicazione nel feed dell'interfaccia di amministrazione di WindowsRequired for publishing to the Windows Admin Center feed Nome descrittivo per il pacchetto visualizzato in Gestione estensioni di Windows Admin Center.Friendly name for the package that is displayed in Windows Admin Center Extension Manager.
versionversion NecessarioRequired Versione dell'estensione.Extension version. L'uso del controllo delle versioni semantico (convenzione SemVer) è consigliato ma non obbligatorio.Using Semantic Versioning (SemVer convention) is recommended but not required.
authorsauthors NecessarioRequired Se si pubblica per conto dell'azienda, usare il nome della società.If publishing on behalf of your company, use your company name.
descriptiondescription NecessarioRequired Fornire una descrizione delle funzionalità dell'estensione.Provide a description of the extension's functionality.
iconUrliconUrl Consigliato per la pubblicazione nel feed dell'interfaccia di amministrazione di WindowsRecommended when publishing to the Windows Admin Center feed URL dell'icona da visualizzare in Gestione estensioni.URL for icon to display in the Extension Manager.
projectUrlprojectUrl Obbligatorio per la pubblicazione nel feed dell'interfaccia di amministrazione di WindowsRequired for publishing to the Windows Admin Center feed URL del sito Web dell'estensione.URL to your extension's website. Se non si dispone di un sito Web separato, usare l'URL della pagina Web del pacchetto nel feed NuGet.If you do not have a separate website, use the URL for the package webpage on the NuGet feed.
licenseUrllicenseUrl Obbligatorio per la pubblicazione nel feed dell'interfaccia di amministrazione di WindowsRequired for publishing to the Windows Admin Center feed URL del contratto di licenza con l'utente finale dell'estensione.URL to your extension's end user license agreement.
filesfiles NecessarioRequired Queste due impostazioni configurano la struttura di cartelle prevista dal centro di amministrazione di Windows per le estensioni dell'interfaccia utente e i plug-in del gateway.These two settings set up the folder structure that Windows Admin Center expects for UI extensions and Gateway plugins.

3. compilare il pacchetto NuGet di estensione3. Build the extension NuGet package

Usando il file con estensione NuSpec creato in precedenza, si creerà il file Package. nupkg di NuGet che è possibile caricare e pubblicare nel feed NuGet.Using the .nuspec file you created above, you will now create the NuGet package .nupkg file which you can upload and publish to the NuGet feed.

  1. Scaricare lo strumento dell'interfaccia della riga di comando nuget.exe dal sito Web degli strumenti client di NuGet.Download the nuget.exe CLI tool from the NuGet client tools website.
  2. Eseguire "nuget.exe Pack [NuSpec nome file]" per creare il file. nupkg.Run "nuget.exe pack [.nuspec file name]" to create the .nupkg file.

4. firma del pacchetto NuGet di estensione4. Signing your extension NuGet package

Qualsiasi file con estensione dll incluso nell'estensione deve essere firmato con un certificato di un'autorità di certificazione (CA) attendibile.Any .dll files included in your extension are required to be signed with a certificate from a trusted Certificate Authority (CA). Per impostazione predefinita, i file dll non firmati non vengono eseguiti quando l'interfaccia di amministrazione di Windows è in esecuzione in modalità di produzione.By default, unsigned .dll files will be blocked from being executed when Windows Admin Center is running in Production Mode.

Si consiglia inoltre di firmare il pacchetto NuGet di estensione per garantire l'integrità del pacchetto, ma questo non è un passaggio obbligatorio.We also highly recommend that you sign the extension NuGet package to ensure the integrity of the package, but this is not a required step.

5. testare il pacchetto NuGet di estensione5. Test your extension NuGet package

Il pacchetto di estensione è ora pronto per il test.Your extension package is now ready for testing! Caricare il file con estensione nupkg in un feed NuGet o copiarlo in una condivisione file.Upload the .nupkg file to a NuGet feed or copy it to a file share. Per visualizzare e scaricare i pacchetti da un feed o una condivisione file diversa, è necessario modificare la configurazione del feed in modo che punti al feed NuGet o alla condivisione file.To view and download packages from a different feed or file share, you'll need to change your feed configuration to point to your NuGet feed or file share. Durante il test, verificare che le proprietà siano visualizzate correttamente in Gestione estensioni ed è possibile installare e disinstallare l'estensione.When testing, make sure the properties are displayed correctly in Extension Manager and you can successfully install and uninstall your extension.

Pubblicazione dell'estensione nel feed dell'interfaccia di amministrazione di WindowsPublishing your extension to the Windows Admin Center feed

Pubblicando il feed dell'interfaccia di amministrazione di Windows, è possibile rendere disponibile l'estensione per qualsiasi utente di Windows Admin Center.By publishing to the Windows Admin Center feed, you can make your extension available to any Windows Admin Center user. Poiché il Windows Admin Center SDK è ancora in fase di anteprima, vorremmo collaborare con te per contribuire alla risoluzione dei problemi di sviluppo e garantire che tu sia in grado di offrire un prodotto di qualità e un'esperienza agli utenti.Since the Windows Admin Center SDK is still in preview, we'd like to work closely with you to help resolve development issues, and, make sure you are able to deliver a quality product and experience to your users.

Prima di rilasciare la versione iniziale dell'estensione, è consigliabile inviare una richiesta di revisione dell'estensione a Microsoft almeno 2-3 settimane prima del rilascio per assicurarsi che il tempo necessario per la revisione sia sufficiente per apportare modifiche all'estensione, se necessario.Before releasing the initial version of your extension, we recommend that you submit an extension review request to Microsoft at least 2-3 weeks before release to ensure we have sufficient time to review and for you to make any changes to your extension if necessary. Quando l'estensione è pronta per la pubblicazione, sarà necessario inviarla a Microsoft per la revisione e, se approvata, verrà pubblicata nel feed.Once your extension is ready to be published, you'll need to send it to us for review, and if approved, we'll publish it to the feed for you.

Successivamente, se si desidera rilasciare un aggiornamento per l'estensione, sarà necessario inviare un'altra richiesta di revisione.Afterwards, if you want to release an update to your extension, you will need to submit another request for review. A seconda dell'ambito di modifica, il tempo di inversione per le verifiche degli aggiornamenti dovrebbe essere in genere più breve.While depending on the scope of change, the turnaround time for update reviews should generally be shorter.

Inviare una richiesta di revisione dell'estensione a MicrosoftSubmit an extension review request to Microsoft

Per inviare una richiesta di revisione dell'estensione, immettere le informazioni seguenti e inviare un messaggio di posta elettronica a wacextensionrequest@microsoft.com .To submit an extension review request, enter the following information and send as an email to wacextensionrequest@microsoft.com. Ti invieremo una risposta alla tua posta elettronica entro una settimana.We will reply to your email within a week.

Windows Admin Center Extension Review Request
1. Name and email address of extension owner/developer (up to 3 users). If you will be releasing an extension on behalf of your company, provide your company email address.
2. Company name (Only required if you are releasing an extension on behalf of your company):
3. Extension name:
4. Release target date (estimate):
5. For new extension submission - Extension description (early design wire frames, screen mockups or product screenshots are highly recommended):
6. For extension update review – Description of changes (include product screenshots if UI has been significantly changed):

Inviare il pacchetto di estensione per la revisione e la pubblicazioneSubmit your extension package for review and publishing

Assicurarsi di seguire le istruzioni riportate in precedenza per la creazione di un pacchetto di estensione e il file con estensione NuSpec viene definito correttamente e i file vengono firmati.Make sure you follow the instructions above for creating an extension package and the .nuspec file is defined properly and files are signed. Si consiglia inoltre di disporre di un sito Web di progetto che includa quanto segue:We also recommend that you have a project website including the following:

  • Descrizione dettagliata dell'estensione, incluse schermate o videoDetailed description of your extension including screenshots or video
  • Indirizzo di posta elettronica o funzionalità del sito Web per ricevere commenti e suggerimentiEmail address or website feature to receive feedback or questions

Quando si è pronti per pubblicare l'estensione, inviare un messaggio di posta elettronica a wacextensionrequest@microsoft.com e verranno fornite istruzioni su come inviare il pacchetto di estensione.When you are ready to publish your extension, send an email to wacextensionrequest@microsoft.com and we will provide instructions on how to send us your extension package. Una volta ricevuto il pacchetto, si verificherà e, se approvato, la pubblicazione nel feed dell'interfaccia di amministrazione di Windows.Once we receive your package, we will review and if approved, publish to the Windows Admin Center feed.