La biblioteca hostpolicy.dll no se encontró


Tengo un proyecto.NET Core simple (aplicación de consola) que estoy tratando de compilar y ejecutar. dotnet build tiene éxito, pero obtengo el siguiente error cuando lo hago 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].

Mi proyecto.json se ve así:

{
  "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"
}

¿Qué es hostpolicy.dll, y por qué falta?

Author: Nate Barbettini, 2016-06-28

4 answers

Este mensaje de error no es útil. El problema actual es una propiedad que falta emitEntryPoint:

  "buildOptions": {
    ...
    "emitEntryPoint": true
  },

Una vez que se agrega esto, el compilador le informará sobre cualquier otro problema (como un método static void Main() que falta). Compilar correctamente el proyecto dará como resultado una salida que dotnet run puede ejecutar.

 16
Author: Nate Barbettini,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-03-02 01:11:52

Actualización para dotnet core 2.0: el archivo appname.runtimeconfig.json (tanto para la configuración de depuración como de lanzamiento) se necesita en la misma ruta que appname.dll .

Contiene:

{
  "runtimeOptions": {
    "tfm": "netcoreapp2.0",
    "framework": {
      "name": "Microsoft.NETCore.App",
      "version": "2.0.0"
    }
  }
}

Entonces dotnet.exe exec "path/to/appname.dll" [appargs] funciona.

 15
Author: Soleil,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-09-11 15:28:00

Para mí con ASP.NET Core 2.0 en Azure, era el appname.deps.json que hizo el truco.

 1
Author: Richard,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-02-14 16:10:02

Para mí, el problema fue con la falta de coincidencia de la versión. Tenía una versión diferente". Net core SDK " instalada y se especificó una versión diferente en .archivo json.

Una vez que modifiqué la versión en mi .archivo json la aplicación comenzó a funcionar bien.

 0
Author: sandesh kota,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-09-25 09:49:46