У меня есть приложение Winforms .NET Core 3, которое я хочу опубликовать как автономное развертывание одного файла
Вот соответствующий .csproj
файл
<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>netcoreapp3.0</TargetFramework>
<UseWindowsForms>true</UseWindowsForms>
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
<PublishSingleFile>true</PublishSingleFile>
</PropertyGroup>
<ItemGroup>
<!--PackageReferences-->
</ItemGroup>
<ItemGroup>
<!--ProjectReferences-->
</ItemGroup>
</Project>
IЯ использую <RuntimeIdentifier>win-x64</RuntimeIdentifier>
, чтобы он генерировал автономное развертывание для Windows x64 и <PublishSingleFile>true</PublishSingleFile>
, чтобы все встраивалось в файл .exe
.
При публикации с помощью команды:
dotnet publish -c Release
Я получаю файлы .exe
и .pdb
в bin\Release\netcoreapp3.0\win-x64\publish
- MyApp.exe
- MyApp.pdb
Что мне нужно изменить в файле .csproj
, чтобы получить MyApp.dll.config
или MyApp.exe.config
в зависимости от того, чтоисправить рядом с .exe
, чтобы приложение фактически считывало конфигурацию из него вместо встроенного App.Config
?
Я попытался добавить это
<ItemGroup>
<Content Update="*.config">
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
<ExcludeFromSingleFile>true</ExcludeFromSingleFile>
</Content>
</ItemGroup>
, как указано в этой ссылке Публикация в одном файле - сборка системного интерфейса , но при этом он создает только два файла.