Skip to main content

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.

Total Downloads
12.9M
12,910,378
Published
Jun 16, 2026
4mo ago

Get Started

dotnet add package CoreWCF.Primitives --version 1.9.1
ProductVersions
.NET Standard
netstandard2.0

README

What is CoreWCF?

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:

Package NuGet Stable Downloads
CoreWCF.ConfigurationManager CoreWCF.ConfigurationManager CoreWCF.ConfigurationManager
CoreWCF.Http CoreWCF.Http CoreWCF.Http
CoreWCF.Kafka CoreWCF.Kafka CoreWCF.Kafka
CoreWCF.Kafka.Client CoreWCF.Kafka.Client CoreWCF.Kafka.Client
CoreWCF.MSMQ CoreWCF.MSMQ CoreWCF.MSMQ
CoreWCF.NetNamedPipe CoreWCF.NetNamedPipe CoreWCF.NetNamedPipe
CoreWCF.NetTcp CoreWCF.NetTcp CoreWCF.NetTcp
CoreWCF.Primitives CoreWCF.Primitives CoreWCF.Primitives
CoreWCF.RabbitMQ CoreWCF.RabbitMQ CoreWCF.RabbitMQ
CoreWCF.RabbitMQ.Client CoreWCF.RabbitMQ.Client CoreWCF.RabbitMQ.Client
CoreWCF.Templates CoreWCF.Templates CoreWCF.Templates
CoreWCF.UnixDomainSocket CoreWCF.UnixDomainSocket CoreWCF.UnixDomainSocket
CoreWCF.WebHttp CoreWCF.WebHttp CoreWCF.WebHttp

Community Packages

The latest CoreWCF extension released packages from community can be found at NuGet.org:

Package NuGet Stable Downloads
AWS.CoreWCF.Extensions AWS.CoreWCF.Extensions AWS.CoreWCF.Extensions
AWS.WCF.Extensions AWS.WCF.Extensions AWS.WCF.Extensions

Code Quality

SonarCloud

Announcements

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

Pre-release packages built from main are published to the GitHub Packages NuGet feed of the CoreWCF organization. The feed URL is owner-scoped:

https://nuget.pkg.github.com/CoreWCF/index.json

GitHub Packages requires authentication even for public packages. Generate a personal access token (classic) with the read:packages scope, then add the feed:

dotnet nuget add source https://nuget.pkg.github.com/CoreWCF/index.json --name CoreWCF-Dev --username <your-github-username> --password <your-PAT> --store-password-in-clear-text

If you are using a nuget.config file with only the default nuget.org package source, after adding the CoreWCF dev feed it would look like this:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <clear />
    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
    <add key="CoreWCF-Dev" value="https://nuget.pkg.github.com/CoreWCF/index.json" />
  </packageSources>
  <packageSourceCredentials>
    <CoreWCF-Dev>
      <add key="Username" value="<your-github-username>" />
      <add key="ClearTextPassword" value="<your-PAT>" />
    </CoreWCF-Dev>
  </packageSourceCredentials>
</configuration>

How do I contribute?

Please see the CONTRIBUTING.md file for details.

License, etc.

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.

CoreWCF is Copyright © 2019 .NET Foundation and other contributors under the MIT license.

.NET Foundation

This project is supported by the .NET Foundation.

Downloads by Version

Similar & Alternative Packages

Hand-picked matching NuGet libraries based on tags & ecosystem

Depended On By

Find packages that declare this package as a dependency. NuGet does not provide a reverse-dependency endpoint, so candidates are checked on demand.

Adoption Assessment

A verified publisher signal is available. Assess fit from the package's supported frameworks, license and dependency graph rather than popularity alone.

Compatibility metadata lists 1 target framework; confirm the exact target used by your application.The published metadata declares 31 direct dependency entries across framework groups. Inspect the resolved dependency graph for your target framework.

Related Guides & Workflows

Learn how to evaluate, integrate, or audit this package in your .NET project.