Compilare una libreria .NET Standard con Visual Basic e .NET Core SDK in Visual Studio 2017Build a .NET Standard library with Visual Basic and the .NET Core SDK in Visual Studio 2017

La libreria di classi definisce tipi e metodi chiamati da un'applicazione.A class library defines types and methods that are called by an application. Una libreria di classi che esegue la destinazione a .NET Standard 2.0 consente la chiamata alla libreria da qualsiasi implementazione di .NET che supporti questa versione di .NET Standard.A class library that targets the .NET Standard 2.0 allows your library to be called by any .NET implementation that supports that version of the .NET Standard. Dopo aver completato la libreria di classi, è possibile decidere se si vuole distribuirla come componente di terze parti o se si vuole includerla come componente in bundle con una o più applicazioni.When you finish your class library, you can decide whether you want to distribute it as a third-party component or whether you want to include it as a bundled component with one or more applications.

Nota

Per un elenco delle versioni di .NET Standard e delle piattaforme supportate, vedere .NET Standard.For a list of the .NET Standard versions and the platforms they support, see .NET Standard.

In questo argomento si creerà una semplice libreria di utilità contenente un solo metodo di gestione delle stringhe,In this topic, you'll create a simple utility library that contains a single string-handling method. che verrà implementato come metodo di estensione, in modo da poter essere chiamato come se fosse un membro della classe String.You'll implement it as an extension method so that you can call it as if it were a member of the String class.

Creazione di una soluzione per la libreria di classiCreating a class library solution

Iniziare creando una soluzione per il progetto di libreria di classi e per i progetti correlati.Start by creating a solution for your class library project and its related projects. Una soluzione Visual Studio funge solo da contenitore per uno o più progetti.A Visual Studio Solution just serves as a container for one or more projects. Per creare la soluzione:To create the solution:

  1. Nella barra dei menu di Visual Studio scegliere File > Nuovo > Progetto.On the Visual Studio menu bar, choose File > New > Project.

  2. Nella finestra di dialogo Nuovo progetto espandere il nodo Altri tipi di progetti e selezionare Soluzioni di Visual Studio.In the New Project dialog, expand the Other Project Types node, and select Visual Studio Solutions. Assegnare alla soluzione il nome "ClassLibraryProjects" e selezionare il pulsante OK.Name the solution "ClassLibraryProjects" and select the OK button.

    Finestra di dialogo per la creazione di un nuovo progetto di test in Visual Studio

Creazione del progetto di libreria di classiCreating the class library project

Creare un progetto di libreria di classi:Create your class library project:

  1. In Esplora soluzioni fare clic con il pulsante destro del mouse sul file della soluzione ClassLibraryProjects e dal menu di scelta rapida selezionare Aggiungi > Nuovo progetto.In Solution Explorer, right-click on the ClassLibraryProjects solution file and from the context menu, select Add > New Project.

  2. Nella finestra di dialogo Aggiungi nuovo progetto espandere il nodo Visual Basic, quindi selezionare il nodo .NET Standard seguito dal modello di progetto Libreria di classi (.NET Standard).In the Add New Project dialog, expand the Visual Basic node, then select the .NET Standard node followed by the Class Library (.NET Standard) project template. Nella casella di testo Nome immettere "StringLibrary" come nome del progetto.In the Name text box, enter "StringLibrary" as the name of the project. Scegliere OK per creare il progetto di libreria di classi.Select OK to create the class library project.

    Finestra di dialogo per l'aggiunta di un nuovo progetto di libreria di classi in Visual Studio

    La finestra di codice viene quindi aperta nell'ambiente di sviluppo di Visual Studio.The code window then opens in the Visual Studio development environment.

    Finestra dell'applicazione di Visual Studio che illustra il codice del modello della libreria di classi predefinito

  3. Assicurarsi che sia stata eseguita la destinazione della libreria alla versione corretta di .NET Standard.Check to make sure that the library targets the correct version of the .NET Standard. Fare clic con il pulsante destro del mouse sul progetto libreria nelle finestre di Esplora soluzioni, quindi selezionare Proprietà.Right-click on the library project in the Solution Explorer windows, then select Properties. La casella di testo Framework di destinazione indica che si sta eseguendo la destinazione a .NET 2.0 Standard.The Target Framework text box shows that we're targeting .NET Standard 2.0.

    Proprietà del progetto per la libreria di classi

  4. Inoltre, nella finestra di dialogo Proprietà cancellare il testo nella casella di testo Spazio dei nomi radice.Also in the Properties dialog, clear the text in the Root namespace text box. Per ogni progetto, Visual Basic crea automaticamente uno spazio dei nomi che corrisponde al nome del progetto e gli spazi dei nomi definiti nel file di codice sorgente sono gli elementi padre di questo spazio dei nomi.For each project, Visual Basic automatically creates a namespace that corresponds to the project name, and any namespaces defined in source code files are parents of that namespace. Si desidera definire uno spazio dei nomi di livello superiore usando la parola chiave namespace .We want to define a top-level namespace by using the namespace keyword.

  5. Nella finestra del codice sostituire il codice con il seguente:Replace the code in the code window with the following code and save the file:

Imports System.Runtime.CompilerServices

Namespace UtilityLibraries
    Public Module StringLibrary
        <Extension>
        Public Function StartsWithUpper(str As String) As Boolean
            If String.IsNullOrWhiteSpace(str) Then
                Return False
            End If

            Dim ch As Char = str(0)
            Return Char.IsUpper(ch)
        End Function
    End Module
End Namespace

La libreria di classi UtilityLibraries.StringLibrary contiene un metodo denominato StartsWithUpper, che restituisce un valore Boolean che indica se l'istanza della stringa corrente inizia con un carattere maiuscolo.The class library, UtilityLibraries.StringLibrary, contains a method named StartsWithUpper, which returns a Boolean value that indicates whether the current string instance begins with an uppercase character. Lo standard Unicode distingue i caratteri maiuscoli dai minuscoli.The Unicode standard distinguishes uppercase characters from lowercase characters. Il metodo Char.IsUpper(Char) restituisce true se un carattere è maiuscolo.The Char.IsUpper(Char) method returns true if a character is uppercase.

  1. Nella barra dei menu selezionare Compila > Compila soluzione.On the menu bar, select Build > Build Solution. Il progetto dovrebbe essere compilato senza errori.The project should compile without error.

    Riquadro di output che illustra che la compilazione ha avuto esito positivo

Passaggio successivoNext step

La compilazione della libreria è stata completata.You've successfully built the library. Non è tuttavia possibile sapere se funziona come previsto poiché non è stato ancora chiamato uno dei metodi.Because you haven't called any of its methods, you don't know whether it works as expected. Il passaggio successivo per lo sviluppo della libreria consiste nel testarla usando un Progetto unit test.The next step in developing your library is to test it by using a Unit Test Project.