Tengo una aplicación .Net Core ASP.Net en Visual Studio 2017. Estoy tratando de hacer una implementación autónoma de la aplicación.

Si ejecuto el siguiente comando desde la CLI, funciona exactamente como quiero y produce un .exe

dotnet publish -c release -r win7-x64

Sin embargo, si publico desde Visual Studio 2017, no produce un .exe y produce un .dll.

¿Cómo puedo replicar el -r win7-x64 del comando de publicación dotnet desde Visual Studio 2017?

Aquí está el contenido de mi .pubxml

<?xml version="1.0" encoding="utf-8"?>
<!--
This file is used by the publish/package process of your Web project. You can customize the behavior of this process
by editing this MSBuild file. In order to learn more about this please visit https://go.microsoft.com/fwlink/?LinkID=208121. 
-->
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <WebPublishMethod>FileSystem</WebPublishMethod>
    <PublishProvider>FileSystem</PublishProvider>
    <LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
    <LastUsedPlatform>Any CPU</LastUsedPlatform>
    <SiteUrlToLaunchAfterPublish />
    <LaunchSiteAfterPublish>True</LaunchSiteAfterPublish>
    <ExcludeApp_Data>False</ExcludeApp_Data>
    <PublishFramework>netcoreapp1.1</PublishFramework>
    <ProjectGuid>74bc47dd-6787-420d-804f-3f3d689d5ae5</ProjectGuid>
    <publishUrl>C:\Deploy\JLM.MS.LeadGen.Dealer</publishUrl>
    <DeleteExistingFiles>True</DeleteExistingFiles>
    <RuntimeIdentifiers>win7-x64</RuntimeIdentifiers>
  </PropertyGroup>
</Project>
2
jkruer01 2 may. 2017 a las 03:57

2 respuestas

La mejor respuesta

Esta experiencia se ha agregado a la ventana de publicación de Visual Studio 2017 versión 15.3 (que se puede descargar aquí)

Si hace clic con el botón derecho en su proyecto -> Publicar -> haga clic en el enlace "Configuración ..." en "Resumen" -> vaya a la pestaña Configuración de la ventana Publicar, debería ver un menú desplegable Target Runtime donde puede elegir qué plataforma desea que su aplicación se ejecute. Aquí tienes una captura de pantalla de lo que estoy hablando.

Asegúrese de incluir en su archivo de proyecto el tiempo de ejecución que desea seleccionar en <RuntimeIdentifiers> o <RuntimeIdentifier>, ya que el menú desplegable busca estas propiedades para completar sus valores.

3
Brian 26 may. 2017 a las 00:55

Necesitas agregar

<OutputType>Exe</OutputType>

A su .csproj

0
Travis Boatman 2 may. 2017 a las 01:28