Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 带有.net标准库EF的.net核心web api_C#_Asp.net Core - Fatal编程技术网

C# 带有.net标准库EF的.net核心web api

C# 带有.net标准库EF的.net核心web api,c#,asp.net-core,C#,Asp.net Core,我在一个.net核心web api项目中遇到了最奇怪的问题。我添加了一个.net标准库,其中首先包含了我的模型和EF代码。当我部署到IIS Express时,所有这些都可以工作,但当我尝试将其发布到IIS时,生成失败 <Project Sdk="Microsoft.NET.Sdk.Web"> <PropertyGroup> <TargetFramework>netcoreapp2.0</TargetFramework> </

我在一个.net核心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>

netcoreapp2.0
1.0.0-*
..\..\..\Program Files(x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\ReferenceAssembles\Microsoft\Framework\MonoAndroid\v1.0\Facades\System.Text.Encoding.CodePages.dll
正如你从他们的文章中看到的,没有提到system.refelection,所以我只能估计它的一个,我的标准项目中的nuget,下面是我的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>

netstandard2.0
我得到的错误如下,现在我尝试添加system.reflection的nuget,但仍然没有乐趣

编辑1 下面的建议有点帮助,但现在我被这个错误所困扰

严重性代码说明项目文件行抑制状态 命令“dotnet”exec--runtimeconfig出错 “C:\Work\xxxApp\xxxlapi\bin\Release\netcoreapp2.0\fuelapi.runtimeconfig.json” --depsfile“C:\Work\fxxapp\xxxlApis\bin\Release\netcoreapp2.0\xxxApis.deps.json” “C:\程序 文件\dotnet\sdk\NuGetFallbackFolder\microsoft.aspnetcore.mvc.razor.viewcomilation\2.0.3\build\netstandard2.0\microsoft.aspnetcore.mvc.razor.viewcomilation.dll“ @“obj\Release\netcoreapp2.0\microsoft.aspnetcore.mvc.razor.viewcomilation.rsp” 已退出,代码为1。XXXL0


您在第一个项目中使用了错误版本的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>

..\..\..\Program Files(x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\ReferenceAssembles\Microsoft\Framework\MonoAndroid\v1.0\Facades\System.Text.Encoding.CodePages.dll


我认为你不需要这个,尤其是提示路径部分。我会尝试将其全部删除

您可以尝试使用dotnet cli发布吗
dotnet publish-c Release-r win7_x64--自包含的
之类的帮助,但我面临一个新的.net核心错误希望这比这个更稳定tbhI必须添加这个在iis express中工作良好这是奇怪的部分请参见上面的编辑2