-->

You can use the Publish tool to publish .NET Core Console or ASP.NET Core apps to a folder.

Aug 21, 2018  When you create a (non-web).NET Framework application in Visual Studio, an app.config file is added to your project. When you create a class library or a.NET Core project, such a file is not included, although it can be done afterward. In a web project (i.e. ASP.NET) you will use a similar file, the web.config. A lot of what I will cover in.

Prerequisites

Visual Studio For Mac Publish Console App
  • Visual Studio 2019 for Mac installed with .NET Core enabled.
  • A .NET Core console or ASP.NET Core project. If you don’t already have a project, you can create a new one.

Visual Studio For Mac Publish Console App Free

Publish to Folder

Using Visual Studio for Mac you can publish your .NET Core projects to a folder using the Publish tool. After publishing to a folder you can transfer the files to a different environment. To publish to a folder follow these steps.

  1. In the Solution Pad, right-click the project and choose Publish.

  2. If you have previously published this project, you'll see the publish profile in the menu. Select that publish profile to start the publish process.

  3. To publish this project to a folder for the first time, select Publish to Folder

  4. The Publish to Folder dialog appears. On this dialog you can customize the folder where the project will be published. You can use the Browse button to do this, or paste in a path.

  5. After clicking Publish a few things happen. First a publish profile is created. A publish profile is an MSBuild file that is imported into the project during the publish process. It contains the properties that are used during the publish process. These files are stored in the Properties/PublishProfiles and have the extension .pubxml. Next, the publish process is started. You can monitor the progress by watching the status bar in Visual Studio for Mac.

  6. Once publish completes successfully a Finder window will open to the publish folder. Now that a publish profile has been created, it will be displayed in the Publish context menu.

  7. To publish the project again with the same settings you can click on the profile in the publish context menu.

Customize Publish Options

To change the name of the publish profile (which is displayed in the publish context menu), rename the publish profile file. Make sure to not change the extension of the file (.pubxml).

To change the publish folder path, open the publish profile and edit the publishUrl value.

To change the build configuration that is used, change the LastUsedBuildConfiguration property in the publish profile.

-->

This tutorial shows how to publish a console app so that other users can run it. Publishing creates the set of files that are needed to run your application. To deploy the files, copy them to the target machine.

Prerequisites

  • This tutorial works with the console app that you create in Create a .NET Core console application in Visual Studio for Mac.

Publish the app

  1. Start Visual Studio for Mac.

  2. Open the HelloWorld project that you created in Create a .NET Core console application in Visual Studio for Mac.

  3. Make sure that Visual Studio is building the Release version of your application. If necessary, change the build configuration setting on the toolbar from Debug to Release.

  4. From the main menu, choose Build > Publish to Folder....

  5. In the Publish to Folder dialog, select Publish.

    The publish folder opens, showing the files that were created.

  6. Select the gear icon, and select Copy 'publish' as Pathname from the context menu.

Inspect the files

The publishing process creates a framework-dependent deployment, which is a type of deployment where the published application runs on a machine that has the .NET Core runtime installed. Users can run the published app by running the dotnet HelloWorld.dll command from a command prompt.

As the preceding image shows, the published output includes the following files:

  • HelloWorld.deps.json

    This is the application's runtime dependencies file. It defines the .NET Core components and the libraries (including the dynamic link library that contains your application) needed to run the app. For more information, see Runtime configuration files.

  • HelloWorld.dll

    This is the framework-dependent deployment version of the application. To execute this dynamic link library, enter dotnet HelloWorld.dll at a command prompt. This method of running the app works on any platform that has the .NET Core runtime installed.

  • HelloWorld.pdb (optional for deployment)

    This is the debug symbols file. You aren't required to deploy this file along with your application, although you should save it in the event that you need to debug the published version of your application.

  • HelloWorld.runtimeconfig.json

    This is the application's run-time configuration file. It identifies the version of .NET Core that your application was built to run on. You can also add configuration options to it. For more information, see .NET Core run-time configuration settings.

Visual studio for mac publish console apps

Run the published app

  1. Open a terminal and navigate to the publish folder. To do that, enter cd and then paste the path that you copied earlier. For example:

  2. Run the app by using the dotnet command:

    1. Enter dotnet HelloWorld.dll and press enter.

    2. Enter a name in response to the prompt, and press any key to exit.

Additional resources

Visual Studio Publish Web

Next steps

In this tutorial, you published a console app. In the next tutorial, you create a class library.