paint-brush
Kunjamas ‘hostpolicy.dll’ ukat ‘singlefilehost.exe’ pantjasiwinak askichañax .NET 8.0.11ukata@markpelf
Machaq sarnaqäwi

Kunjamas ‘hostpolicy.dll’ ukat ‘singlefilehost.exe’ pantjasiwinak askichañax .NET 8.0.11

ukata Mark Pelf5m2025/01/03
Read on Terminal Reader

Sinti jaya pachanakawa; Uñxatt’añataki

.NET 8.0.11 ukar machaqar tukuyatatxa, pantjasiwinak katuqañ qalltawayta, ukatx lurawinakas/aplicaciones ukanakax janiw phuqhaskänti. Nayax “hostpolicy.dll...janiw jikxataskiti” ukat “pantjasiw MSB4018: ... Janiw jikxataskti ... singlefilehost.exe”.
featured image - Kunjamas ‘hostpolicy.dll’ ukat ‘singlefilehost.exe’ pantjasiwinak askichañax .NET 8.0.11
Mark Pelf HackerNoon profile picture
0-item

.NET lurañ yänakan mayjt’awinak p’akintaña 8.0.0 ukat 8.0.11

.NET 8.0.11 ukar machaqar tukuyatatxa, yaqhip proyectos ukanakatak lurañax janiw phuqhaskänti...

1 Jan walt’awinaka qhanañchaña

Proyecto lurañ amtanakax taqpachaw mä chiqan .NET 8.0.0 jak’anx wali sum irnaqapxäna. Qhipharux .NET apnaqañ pachax qhipa versión .NET 8.0 ukat .NET 9.0 ukar machaqar tukuyatapampi ukhamarak Visual Studio ukar machaqar tukuyatapampix yaqhip proyectos ukanakax janiw irnaqxänti. Ukhamarjamax jupanakax lurañ yänakan p’akjañ mayjt’äwinak uñt’ayapxäna. Lógica ukax wali askiwa ukatx lurañ kastanakax pachpakiw, ukakipkarakiw lurañ yänakax mä juk’a mayjt’at sarnaqañ qalltawayi. Machaq lurañ configuración ukat lurañ scripts ukanakax wakisiwa.


Nayax amuyta , sarnaqawi mayjt’awix kawkhantix (.NET Framework 8.0.0/.NET SDK 8.0.100) ukat (.NET Framework 8.0.11/.NET SDK 8.0.404) ukanakan jikxataspa. Janiw taqpachakiti, ukampis yaqhip proyecto lurañanakax janiw phuqhaskänti.

1.1 Pachamaman utjiri

Uka típico medio ambiente ukax aka qillqatanx C#/VS2022 ukawa.

.NET ukax 8.0.11 ukat qhipa uñstawiwa

Ukatx proyecto tipo SelfContained jan ukax SingleFile ukanakaw lurasi

1.2 Jan walt’awinaka uñacht’ayaña

Ukax Errors/Excepciones ukanakaw utji :

  • Uka biblioteca ‘hostpolicy.dll’ ukax wakisiwa mä aplicación ukar phuqhañataki

  • pantjasiwi MSB4018: .... Janiw jikxatañjamäkiti ..... singlefilehost.exe


 +++Error1,When running the application:++++++++++++++++++++ A fatal error was encountered. The library 'hostpolicy.dll' required to execute the application was not found in 'C:\Program Files\dotnet\'. Failed to run as a self-contained app. - The application was run as a self-contained app because 'C:\tmpNetBundle\BundleExample02_NET90\ConsoleApp2C\ SelfContained_SingleFile_win-x64\ConsoleApp2C.runtimeconfig.json' was not found. - If this should be a framework-dependent app, add the 'C:\tmpNetBundle\BundleExample02_NET90\ConsoleApp2C\ SelfContained_SingleFile_win-x64\ConsoleApp2C.runtimeconfig.json' file and specify the appropriate framework. PS C:\tmpNetBundle\BundleExample02_NET90\ConsoleApp2C\ SelfContained_SingleFile_win-x64> +++Error2,During build++++++++++++++++++++ error MSB4018: The "GenerateBundle" task failed unexpectedly. [C:\tmpNetBundle\BundleExample01_NET_8.0.0_SDK_8.0.100\ConsoleApp2\ConsoleApp2.csproj] error MSB4018: System.IO.FileNotFoundException: Could not find file 'C:\tmpNetBundle\BundleExample01_NET_8.0.0_SDK_8.0.100\ConsoleApp2\ obj\Release\net8.0-windows\win-x64\singlefilehost.exe'.


1.3 Kunatsa jan walt’awixa utji ukatxa askichawi

Ukhamarjamax <PublishSingleFile>chiqa</PublishSingleFile> chimpux proyecto archivo .csproj ukanx yaqhip chiqanakanx irnaqañapatakiw sayt’ayata. Nayax uka qhipatx lurañ scripts ukanx uka banderaruw atinisiyäta. Janiw kuna jan waltʼäwis utjkiti, uka toqet nayratpachwa amuysna, kunapachatï kuntï suyktan uk yatktan ukhakiw amuysna.


Ukhamarjamax lurañ thakhix “dotnet publish” ukar jawsatawa .NET SDK 9.* ukat proyectonakataki kunatix nayax .NET 8.* marco ukatakiw luraskäyäta. Ukhama, nayax global.json qillqat apnaqañ amtawayta, kawkir SDK apnaqañ munta uk qhan uñacht’ayañataki.

2 Código Muestras ukanaka

Akax nayra lurañ wakichäwinakawa, ukax NET_8.0.0/SDK_8.0.100 ukan irnaqäna ukampis qhipa versión ukanx janiw irnaqxänti

 // NET_8.0.0/SDK_8.0.100 // NOTE: These project settings all worked well somewhere around .NET 8.0.0. Later, with the upgrade of .NET runtime to later versions of .NET 8.0 and .NET 9.0 and an upgrade to Visual Studio, some of projects stopped working. It looks like they introduced breaking changes in the build tools. Logic is still sound and build types are the same, just the build tools started to behave a bit differently. A new build configurations and build scripts are needed. <!--ConsoleApp2C.csproj +++++++++++++++++++++++++++++++++++++--> <Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <OutputType>Exe</OutputType> <TargetFramework>net8.0-windows</TargetFramework> <ImplicitUsings>enable</ImplicitUsings> <Nullable>enable</Nullable> <PlatformTarget>x64</PlatformTarget> <Platforms>AnyCPU;x64</Platforms> <RuntimeIdentifier>win-x64</RuntimeIdentifier> <DebugType>embedded</DebugType> <PublishSingleFile>true</PublishSingleFile> <PublishTrimmed>true</PublishTrimmed> <IsTrimmable>true</IsTrimmable> <SelfContained>true</SelfContained> <IncludeAllContentForSelfExtract>true</IncludeAllContentForSelfExtract> <EnableCompressionInSingleFile>true</EnableCompressionInSingleFile> </PropertyGroup> <ItemGroup> <ProjectReference Include="..\ClassLibrary1\ClassLibraryA.csproj" /> </ItemGroup> <Target Name="PostBuild" AfterTargets="PostBuildEvent"> <Exec Command="echo +++Post-Build+++++&#xD;&#xA; if $(ConfigurationName) == Debug ( &#xD;&#xA;echo +++++Debug+++++ &#xD;&#xA;) &#xD;&#xA;&#xD;&#xA; if $(ConfigurationName) == Release ( &#xD;&#xA; echo +++++SelfContained_SingleFile_win-x64.cmd+++++ &#xD;&#xA; call SelfContained_SingleFile_win-x64.cmd &#xD;&#xA; echo +++++SelfContained_SingleFile_win-x64_Trimmed.cmd+++++ &#xD;&#xA; call SelfContained_SingleFile_win-x64_Trimmed.cmd &#xD;&#xA;) " /> </Target> </Project> +++++Script: SelfContained_SingleFile_win-x64.cmd dotnet publish ConsoleApp2C.csproj --no-build --runtime win-x64 --configuration Release -p:PublishSingleFile=true -p:SelfContained=true -p:PublishReadyToRun=false -p:PublishTrimmed=false --output ./SelfContained_SingleFile_win-x64 +++++Script: SelfContained_SingleFile_win-x64_Trimmed.cmd dotnet publish ConsoleApp2C.csproj --no-build --runtime win-x64 --configuration Release -p:PublishSingleFile=true -p:SelfContained=true -p:PublishReadyToRun=false -p:PublishTrimmed=true --output ./SelfContained_SingleFile_win-x64_Trimmed


Akax machaq lurañ amtanakawa, ukax NET_8.0.11/SDK_8.0.404 ukan irnaqatawa

 // NET_8.0.11/SDK_8.0.404 <!--ConsoleApp2C.csproj +++++++++++++++++++++++++++++++++++++--> <Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <OutputType>Exe</OutputType> <TargetFramework>net8.0-windows</TargetFramework> <ImplicitUsings>enable</ImplicitUsings> <Nullable>enable</Nullable> <PlatformTarget>x64</PlatformTarget> <Platforms>AnyCPU;x64</Platforms> <RuntimeIdentifier>win-x64</RuntimeIdentifier> <DebugType>embedded</DebugType> <PublishSingleFile>true</PublishSingleFile> <PublishTrimmed>true</PublishTrimmed> <IsTrimmable>true</IsTrimmable> <SelfContained>true</SelfContained> <IncludeAllContentForSelfExtract>true</IncludeAllContentForSelfExtract> <EnableCompressionInSingleFile>true</EnableCompressionInSingleFile> </PropertyGroup> <ItemGroup> <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="9.0.0" /> </ItemGroup> <ItemGroup> <ProjectReference Include="..\ClassLibrary1\ClassLibraryA.csproj" /> </ItemGroup> <Target Name="RunAfterBuild1" AfterTargets="Build"> <Exec Command="call SelfContained_SingleFile_win-x64.cmd" Condition=" '$(BuildingInsideVisualStudio)' == 'true' "/> </Target> <Target Name="RunAfterBuild2" AfterTargets="Build"> <Exec Command="call SelfContained_SingleFile_win-x64_Trimmed.cmd" Condition=" '$(BuildingInsideVisualStudio)' == 'true' "/> </Target> </Project> +++++Script: SelfContained_SingleFile_win-x64.cmd echo .NET SDK version: dotnet --version dotnet publish ConsoleApp2C.csproj --nologo --no-restore --runtime win-x64 --configuration Release -p:PublishSingleFile=true -p:SelfContained=true -p:PublishReadyToRun=false -p:PublishTrimmed=false --output ./SelfContained_SingleFile_win-x64 +++++Script: SelfContained_SingleFile_win-x64_Trimmed.cmd echo .NET SDK version: dotnet --version dotnet publish ConsoleApp2C.csproj --nologo --no-restore --runtime win-x64 --configuration Release -p:PublishSingleFile=true -p:SelfContained=true -p:PublishReadyToRun=false -p:PublishTrimmed=true --output ./SelfContained_SingleFile_win-x64_Trimmed +++++Configfile: global.json { "sdk": { "version": "8.0.404" } }


Akax machaq lurañ amtanakawa, ukax NET_9.0.0/SDK_9.0.101 ukan irnaqatawa

 // NET_9.0.0/SDK_9.0.101 <!--ConsoleApp3C.csproj +++++++++++++++++++++++++++++++++++++--> <Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <OutputType>Exe</OutputType> <TargetFramework>net9.0-windows7.0</TargetFramework> <ImplicitUsings>enable</ImplicitUsings> <Nullable>enable</Nullable> <PlatformTarget>x64</PlatformTarget> <Platforms>AnyCPU;x64</Platforms> <RuntimeIdentifier>win-x64</RuntimeIdentifier> <DebugType>embedded</DebugType> <PublishSingleFile>true</PublishSingleFile> <PublishTrimmed>true</PublishTrimmed> <IsTrimmable>true</IsTrimmable> <SelfContained>true</SelfContained> <PublishReadyToRun>true</PublishReadyToRun> <IncludeAllContentForSelfExtract>true</IncludeAllContentForSelfExtract> <EnableCompressionInSingleFile>true</EnableCompressionInSingleFile> </PropertyGroup> <ItemGroup> <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="9.0.0" /> </ItemGroup> <ItemGroup> <ProjectReference Include="..\ClassLibrary1\ClassLibraryA.csproj" /> </ItemGroup> <Target Name="RunAfterBuild1" AfterTargets="Build"> <Exec Command="call SelfContained_SingleFile_win-x64_ReadyToRun.cmd" Condition=" '$(BuildingInsideVisualStudio)' == 'true' " /> </Target> <Target Name="RunAfterBuild2" AfterTargets="Build"> <Exec Command="call SelfContained_SingleFile_win-x64_Trimmed_ReadyToRun.cmd" Condition=" '$(BuildingInsideVisualStudio)' == 'true' " /> </Target> </Project> +++++Script: SelfContained_SingleFile_win-x64_ReadyToRun.cmd echo .NET SDK version: dotnet --version dotnet publish ConsoleApp3C.csproj --nologo --no-restore --runtime win-x64 --configuration Release -p:PublishSingleFile=true -p:SelfContained=true -p:PublishTrimmed=false -p:PublishReadyToRun=true --output ./SelfContained_SingleFile_win-x64_ReadyToRun +++++Script: SelfContained_SingleFile_win-x64_Trimmed_ReadyToRun.cmd echo .NET SDK version: dotnet --version dotnet publish ConsoleApp3C.csproj --nologo --no-restore --runtime win-x64 --configuration Release -p:PublishSingleFile=true -p:SelfContained=true -p:PublishReadyToRun=true -p:PublishTrimmed=true --output ./SelfContained_SingleFile_win-x64_Trimmed_ReadyToRun +++++Configfile: global.json { "sdk": { "version": "9.0.101" } }


L O A D I N G
. . . comments & more!

About Author

Mark Pelf HackerNoon profile picture
Mark Pelf@markpelf
Mark Pelf is the pen name of a Software Engineer from Belgrade, Serbia. https://markpelf.com/

HANG TAGS ukax mä juk’a pachanakanwa

AKA ARTÍCULO UKHAMARAKI UKHAMARAKI...