Die Bibliothek hostpolicy.dll wurde nicht gefunden
Habe ich eine einfache .NET-Core-Projekt (Konsolenanwendung), die ich versuche zu kompilieren und auszuführen. dotnet build
gelingt, aber ich bekomme die folgende Fehlermeldung, wenn ich dotnet run
:
λ dotnet run
Project RazorPrecompiler (.NETCoreApp,Version=v1.0) was previously compiled. Skipping compilation.
A fatal error was encountered. The library 'hostpolicy.dll' required to execute the application was not found in [path].
Mein Projekt.json sieht wie folgt aus:
{
"buildOptions": {
"warningsAsErrors": true
},
"dependencies": {
"Microsoft.AspNetCore.Razor": "1.0.0",
"Microsoft.NETCore.App": {
"type": "platform",
"version": "1.0.0"
}
},
"description": "Precompiles Razor views.",
"frameworks": {
"netcoreapp1.0": {
"imports": [ ]
}
},
"version": "1.2.0"
}
Was ist hostpolicy.dll
, und warum wird er vermisst?
Kommentar zu dem Problem
Ich lief in dieser Fehler beim ausführen eines benutzerdefinierten DotnetCliTool mit Visual Studio 2017 RC3, fehlte ein runtimeconfig.json. Die nächste VS-version packen Sie es standardmäßig. github.com/dotnet/cli/issues/5593#issuecomment-277638612
Die gleiche Fehlermeldung kann angezeigt werden, wenn Sie ausführen, dotnet MyApp.exe nur führen MyApp.exe "Die Bibliothek" hostpolicy.dll "erforderlich", wenn ausführen von deploy-Ordner, aber emitEntryPoint wahr ist
InformationsquelleAutor der Frage Nate Barbettini | 2016-06-28
Du musst angemeldet sein, um einen Kommentar abzugeben.
Diese Fehlermeldung ist wenig hilfreich. Die tatsächlichen problem ist eine fehlende
emitEntryPoint
Eigenschaft:Sobald diese Hinzugefügt, der compiler wird Sie wissen lassen, über andere Probleme (wie fehlende
static void Main()
- Methode). Erfolgreich das Projekt kompilieren, wird eine Ausgabe, diedotnet run
ausführen kann.InformationsquelleAutor der Antwort Nate Barbettini
Update für dotnet-core 2.0: die Datei appname.runtimeconfig.json (für debug-und release-Konfiguration) benötigt, die im gleichen Pfad wie appname.dll.
Enthält:
dann
dotnet.exe exec "path/to/appname.dll" [appargs]
funktioniert.InformationsquelleAutor der Antwort Soleil
Für mich mit ASP.NET Core 2.0 auf Azure, es war der appname.deps.json-das war der trick.
InformationsquelleAutor der Antwort Richard