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.