Библиотека 'hostpolicy.dll' не найдена - PullRequest
0 голосов
/ 21 апреля 2020

В моем проекте ASP. NET WebAPI (не Core!) Я бы хотел использовать формат csproj на основе SDK. Я преобразовал проект и получил его для сборки:

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFramework>net461</TargetFramework>
    <OutputType>Library</OutputType>
  </PropertyGroup>

Теперь, когда я запускаю его с использованием IIS Express, я получаю:

Ожидание работника IIS Express процесс запуска…

Рабочий процесс запущен: 22108

Произошла фатальная ошибка. Библиотека 'hostpolicy.dll', необходимая для запуска приложения, не найдена в 'C: \ Code \ MyWebApp \ MyWebApp \ bin \ Debug \ net461 \'.

Не удалось запустить как автономный приложение. Если это приложение должно зависеть от фреймворка, добавьте файл C: \ Code \ MyWebApp \ MyWebApp \ bin \ Debug \ net461 \ MyWebApp.runtimeconfig. json, указав соответствующий фреймворк.

Я видел этот ответ на похожий вопрос, который предлагает добавить файл .runtime.config, но я считаю, что он необходим только для. NET Базовых приложений.

Я не знаю на данный момент я не хочу мигрировать. NET Core. Все, что я хотел, это использовать новый формат проекта, чтобы избавиться от некоторых неприятных переплетений. Т.е. я хотел только изменить инструменты сборки и оставить все как есть во время выполнения.

Мои параметры запуска. json:

{
  "$schema": "http://json.schemastore.org/launchsettings.json",
  "iisSettings": {
    "windowsAuthentication": false,
    "anonymousAuthentication": true,
    "iisExpress": {
      "applicationUrl": "http://localhost:59119",
      "sslPort": 0
    }
  },
  "profiles": {
    "IIS Express": {
      "commandName": "IISExpress",
      "launchBrowser": true
    }
  }
}

Это изменения, которые я сделал: Запрос на вытягивание

1 Ответ

0 голосов
/ 23 апреля 2020

Команда ASP. NET получила ответ :

Это невозможно, проекты на основе sdk не подходят для традиционных проектов aspnet / webapi, и это скорее всего, вы увидите длинный след проблем, если попытаетесь их использовать.

Я был так близок к тому, чтобы заставить его работать!

...