.net core web api со стандартной библиотекой .net EF - PullRequest
0 голосов
/ 02 июня 2018

У меня самые странные проблемы в проекте .net core web api. Я добавил стандартную библиотеку .net, в которой сначала размещаются мои модели и код EF.Это все работает при развертывании в IIS Express, но когда я пытаюсь опубликовать его в IIS, сборка завершается неудачно.

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

  <PropertyGroup>
    <TargetFramework>netcoreapp2.0</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <Folder Include="wwwroot\logs\" />
  </ItemGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.All" Version="2.0.6" />
    <PackageReference Include="Microsoft.EntityFrameworkCore" Version="2.0.3" />
    <PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="2.0.3" />
    <PackageReference Include="Newtonsoft.Json" Version="11.0.2" />
    <PackageReference Include="NLog.Web.AspNetCore" Version="4.5.4" />
  </ItemGroup>

  <ItemGroup>
    <DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet">
      <Version>1.0.0-*</Version>
    </DotNetCliToolReference>
  </ItemGroup>
  <ItemGroup>
    <DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="2.0.3" />
  </ItemGroup>
  <ItemGroup>
    <ProjectReference Include="..\..\mobileapp\forms\xxxCallManager\xxxDalCoreStandard\xxxDalCoreStandardxxxlDalCoreStandard.csproj" />
  </ItemGroup>
  <ItemGroup>
    <Reference Include="System.Text.Encoding.CodePages">
      <HintPath>..\..\..\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\ReferenceAssemblies\Microsoft\Framework\MonoAndroid\v1.0\Facades\System.Text.Encoding.CodePages.dll</HintPath>
    </Reference>
  </ItemGroup>


</Project>

Как вы видите, в них нет упоминания system.refelection, поэтому я могу только предположитьэто один нюгет в моем стандартном проекте, который испортил его ниже, это мой standard.csproj

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

  <PropertyGroup>
    <TargetFramework>netstandard2.0</TargetFramework>
  </PropertyGroup>
<ItemGroup>
    <PackageReference Include="Microsoft.EntityFrameworkCore" Version="2.0.2" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="2.0.2" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="2.0.2" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="2.0.2" />
    <PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="2.0.1" />

  </ItemGroup>
    <ItemGroup>
   <DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.0.2" />
</ItemGroup>
</Project>

Ошибка, которую я получаю, заключается в следующем, теперь я попытался добавить нюгет system.reflection, но все равно не радости

enter image description here

Редактировать 1 Предложение, приведенное ниже, немного помогло, но теперь я застрял с этой ошибкой.

Код серьезности Описание Ошибка состояния подавления строки файла проекта Команда "" dotnet "exec --runtimeconfig" C: \ Work \ xxxApp \ xxxlApis \ bin \ Release \ netcoreapp2.0 \ FuelApis.runtimeconfig.json "--depsfile"C: \ Work \ FxxxApp \ xxxlApis \ bin \ Release \ netcoreapp2.0 \ xxxApis.deps.json "" C: \ Program Files \ dotnet \ sdk \ NuGetFallbackFolder \ microsoft.aspnetcore.mvc.razor.viewcompilation \ 2.0.3 \построить \ netstandard2.0 \ Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.dll "@" obj \ Release \ netcoreapp2.0 \ microsoft.aspnetcore.mvc.razor.viewcompilation.rsp "" завершен с кодом 1. xxxlApis 0

1 Ответ

0 голосов
/ 02 июня 2018

Вы используете неправильную версию инструментов EF в первом проекте, похоже, это предварительная версия 1.0, она должна быть:

<DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.0.*" />

также я бы удалил эту часть:

<ItemGroup>
<Reference Include="System.Text.Encoding.CodePages">
  <HintPath>..\..\..\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\ReferenceAssemblies\Microsoft\Framework\MonoAndroid\v1.0\Facades\System.Text.Encoding.CodePages.dll</HintPath>
</Reference>

Не думаю, что вам это нужно, особенно в части пути подсказки.Я бы попытался удалить это вообще

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...