CoreWCF is a port of the service side of Windows Communication Foundation (WCF) to .NET Core. The goal of this project is to enable existing WCF services to move to .NET Core.
CoreWCF is a port of the service side of Windows Communication Foundation (WCF) to .NET Core. The goal of this project is to enable existing WCF services to move to .NET Core.
Package Status
The latest released packages can be found at NuGet.org:
To keep up to date on what's going on with CoreWCF, you can subscribe to the announcements repo to be notified about major changes and other noteworthy announcements.
How do I get started?
Install the Nuget packages listed above, either via the Package Manager Console or the UI.
See Walkthrough for a step by step guide to creating a service and referencing it from a client project.
See Testing for running unit and integration tests in your development environment.
The Samples repo has examples for multiple scenarios.
The Blog has details on the design philosophy and a deep dive into the features are included in each new release.
Use CoreWCF project templates (dotnet CLI or VisualStudio)
Install CoreWCF project templates, create a directory for your project and cd inside the directory and initialize your project
dotnet new install CoreWCF.Templates
dotnet new corewcf --name MyService
CoreWCF Service project template creates a minimal ASP.NET Core web application thats exposes the well-known WCF default service using a BasicHttpBinding.
It supports the following arguments:
--framework: net8.0 (default), net6.0, net48, net472 and net462 are valid values.
--use-program-main: whether to turn off ASP.NET Core minimal API hosting. This option only affects projects targeting .NET as .NET Framework requires a Startup and a Program class.
--no-https: whether to turn off HTTPS and use BasicHttpSecurityMode.None. Default is HTTPS enabled using BasicHttpSecurityMode.Transport.
--no-wsdl: whether to turn off WSDL metadata feature.
--use-operation-invoker-generator: whether to turn on OperationInvokerGenerator feature.
Development Builds
There are pre-release packages available for development builds of main from a NuGet feed hosted in Azure DevOps. You can download the packages by adding the following package source to your list of feeds using the dotnet CLI.
This project has adopted the code of conduct defined by the Contributor Covenant to clarify expected behavior in our community.
For more information see the .NET Foundation Code of Conduct.