visual studio example espaƱol c# .net msbuild

c# - studio - msbuild reduce verbosity



Construir DotNet Core 2.0 Exe con C#7.1 (1)

Tengo un proyecto que estoy tratando de construir. Está utilizando las características de C # 7.1, puedo ejecutarlo a través de Visual Studio pero cuando intento publicar para obtener un archivo .exe, aparece el error.

Agent.cs(8,30): error CS8107: Feature ''async main'' is not available in C# 7. Please use language version 7.1 or greater. [C:/Users/stuarts/Documents/Visual Studio 2017/Projects/Agent/Agent/Agent.csproj] CSC : error CS5001: Program does not contain a static ''Main'' method suitable for an entry point [C:/Users/stuarts/Documents/Visual Studio 2017/Projects/Agent/Agent/Agent.csproj]

El csproj:

<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <OutputType>WinExe</OutputType> <TargetFramework>netcoreapp2.0</TargetFramework> <IsPackable>false</IsPackable> <NetStandardImplicitPackageVersion>1.6.1</NetStandardImplicitPackageVersion> <RuntimeFrameworkVersion>2.0.0-*</RuntimeFrameworkVersion> <RuntimeIdentifier>win10-x64</RuntimeIdentifier> <ApplicationIcon /> <StartupObject /> </PropertyGroup> <PropertyGroup Condition="''$(Configuration)|$(Platform)''==''Debug|AnyCPU''"> <LangVersion>7.1</LangVersion> </PropertyGroup> <ItemGroup> <PackageReference Include="RabbitMQ.Client" Version="5.0.1" /> </ItemGroup> </Project>

Estoy construyendo con

dotnet publish -c Release -r win10-x64 Agent.csproj

Una vez más, todo esto funciona cuando se depura en VS. ¿Por qué es tan incómodo obtener un simple .exe de una plantilla de proyecto ConsoleApplication?


Tu problema es que en la sección ...

<PropertyGroup Condition="''$(Configuration)|$(Platform)''==''Debug|AnyCPU''"> <LangVersion>7.1</LangVersion> </PropertyGroup>

... usted especifica usar C # 7.1 en la configuración de depuración.

Sin embargo, con ...

dotnet publish -c Release -r win10-x64 Agent.csproj

... se compila en la configuración de lanzamiento.

También debe configurar C # 7.1 en Release. También puede eliminar la condición por completo, lo que configura la versión de idioma para cualquier configuración.