.NET Core additional tools overview
This section compiles a list of tools that support and extend the .NET Core functionality, in addition to the .NET Core command-line interface (CLI) tools.
The WCF (Windows Communication Foundation) Web Service Reference is a Visual Studio connected service provider that made its debut in Visual Studio 2017 version 15.5. This tool retrieves metadata from a web service in the current solution, on a network location, or from a WSDL file, and generates a source file compatible with .NET Core, defining a WCF proxy class with methods that you can use to access the web service operations.
The WCF (Windows Communication Foundation) dotnet-svcutil tool is a .NET Core CLI tool that retrieves metadata from a web service on a network location or from a WSDL file, and generates a source file compatible with .NET Core, defining a WCF proxy class with methods that you can use to access the web service operations. The dotnet-svcutil tool is an alternative option to the WCF Web Service Reference Visual Studio connected service provider which first shipped with Visual Studio 2017 v15.5. The dotnet-svcutil tool as a .NET Core CLI tool, is available cross-platform on Linux, macOS, and Windows.
On the .NET Framework, you can pre-generate a serialization assembly using the svcutil tool. The dotnet-svcutil.xmlserializer NuGet package provides similar functionality on .NET Core. It pre-generates C# serialization code for the types in the client application that are used by the WCF Service Contract and that can be serialized by the XmlSerializer. This improves the startup performance of XML serialization when serializing or deserializing objects of those types.
Like the Xml Serializer Generator (sgen.exe) for the .NET Framework, the Microsoft.XmlSerializer.Generator NuGet package is the solution for .NET Core and .NET Standard libraries. It creates an XML serialization assembly for types contained in an assembly to improve the startup performance of XML serialization when serializing or de-serializing objects of those types using XmlSerializer.