.NET core публикует единый файл, в котором отсутствует информация о версии

#c# #windows #visual-studio #.net-core

#c# #Windows #visual-studio #.net-core

Вопрос:

У меня возникли проблемы с получением информации о версии в свойствах публикуемого exe-файла dotnet publish .

При выполнении следующей команды (в docker с использованием изображения mcr.microsoft.com/dotnet/core/sdk:3.1 ) вкладка сведений о свойствах exe-файла в Windows почти пуста:

 dotnet publish test.sln -f netcoreapp3.1 -c Release -r win-x64 -p:PublishSingleFile=true -p:SelfContained=false -o /release/publish/win-x64
  

Публикация этого из Visual Studio (где, я полагаю, используется MSBuild) приводит ко всей информации о версии, отображаемой на вкладке сведений, включая номер версии.

Также запуск dotnet publish без PublishSingleFile результатов в dll с полной информацией о версии, но exe (конечно, намного меньше) без какой-либо этой информации.

Информация о версии задается в .csproj файле следующим образом:

 <Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <Version>1.2.3</Version>
  </PropertyGroup>
</Project>
  

Есть ли какой-либо способ получить один EXE-файл с полной информацией о версии dotnet publish ?

Комментарии:

1. Я хочу знать, какую полную версию вы упомянули? Определена ли версия в файле .csproj или в конкретной версии публикации?

2. @jack: можете ли вы сказать мне разницу? Но независимо от этого я имел в виду версию, написанную в .cspublish

3. Хорошо, это известная (и открытая) проблема при сборке win-x64 в Linux: github.com/dotnet/sdk/issues/4127