Несколько ссылок с тегами HintPath в файле ASP.NET Core 2.1 csproj - PullRequest
0 голосов
/ 20 сентября 2019

Я впервые пытался создать приложение ASP.NET Core 2.1 в Docker, я заметил много пропущенных ошибок пути.Задаваясь вопросом, почему в Linux существуют пути Windows, я обнаружил, что мой .csproj файл из Visual Studio содержит несколько ссылок на сборки, используя HintPath:

  <ItemGroup>
    <Reference Include="Microsoft.AspNetCore.Hosting.Abstractions">
      <HintPath>..\..\..\..\Program Files\dotnet\sdk\NuGetFallbackFolder\microsoft.aspnetcore.hosting.abstractions\2.1.1\lib\netstandard2.0\Microsoft.AspNetCore.Hosting.Abstractions.dll</HintPath>
    </Reference>
    <Reference Include="Microsoft.AspNetCore.Http.Abstractions">
      <HintPath>..\..\..\..\Program Files\dotnet\sdk\NuGetFallbackFolder\microsoft.aspnetcore.http.abstractions\2.1.1\lib\netstandard2.0\Microsoft.AspNetCore.Http.Abstractions.dll</HintPath>
    </Reference>
    <Reference Include="Microsoft.AspNetCore.Mvc.Core">
      <HintPath>..\..\..\..\Program Files\dotnet\sdk\NuGetFallbackFolder\microsoft.aspnetcore.mvc.core\2.1.1\lib\netstandard2.0\Microsoft.AspNetCore.Mvc.Core.dll</HintPath>
    </Reference>
    <Reference Include="Microsoft.AspNetCore.StaticFiles">
      <HintPath>..\..\..\..\Program Files\dotnet\sdk\NuGetFallbackFolder\microsoft.aspnetcore.staticfiles\2.1.1\lib\netstandard2.0\Microsoft.AspNetCore.StaticFiles.dll</HintPath>
    </Reference>
    <Reference Include="Microsoft.Net.Http.Headers">
      <HintPath>..\..\..\..\Program Files\dotnet\sdk\NuGetFallbackFolder\microsoft.net.http.headers\2.1.1\lib\netstandard2.0\Microsoft.Net.Http.Headers.dll</HintPath>
    </Reference>
  </ItemGroup>

Удаление их приводит к отсутствию ошибок ссылок, я попытался установитьпакеты с NuGet вручную, например Microsoft.AspNetCore.Hosting.Abstractions, Microsoft.AspNetCore.Http.Abstractions и так далее.

Это работает, но мне интересно почему эти ссылки были созданы?

Как я могу помешать Visual Studio создавать эти HintPath на основе пути Windows?

Я занимаюсь разработкой для Linux, поэтому мне нужны независимые от платформы пути.Не понимаю, почему VS не просто ссылочные пакеты NuGet вместо этих локальных путей.

...