已发布的 ASP.NET Core 站点上出现错误:找不到包“Microsoft.AspNet.WebApi.Client”的编译库位置

2024-03-06

我的 Web 应用程序在从 Visual Studio 运行时工作正常,但当我发布并尝试加载页面时,我得到:

InvalidOperationException:找不到包“Microsoft.AspNet.WebApi.Client”的编译库位置 Microsoft.Extensions.DependencyModel.CompilationLibrary.ResolveReferencePaths(ICompilationAssemblyResolver 解析器,列表程序集)

我已经被困在这个问题上有一段时间了。我尝试在线程中应用各种解决方法https://github.com/dotnet/core-setup/issues/2981 https://github.com/dotnet/core-setup/issues/2981,但没有一个起作用。

我的 csproj 文件粘贴在下面。我不确定还有哪些其他信息有用:

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

  <PropertyGroup>
    <TargetFramework>netcoreapp2.1</TargetFramework>
    <UserSecretsId>aspnet-CrowdQuery2-8C668DB3-5C80-4D9E-851D-2434D0CDA7E9</UserSecretsId>
    <PublishWithAspNetCoreTargetManifest>false</PublishWithAspNetCoreTargetManifest>
  </PropertyGroup>

  <PropertyGroup>
    <RuntimeFrameworkVersion>2.1.2</RuntimeFrameworkVersion>    
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.AspNet.WebApi.Client" Version="5.2.6" />
    <PackageReference Include="Microsoft.AspNetCore.App" />
    <PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="2.1.3" PrivateAssets="All" />
  </ItemGroup>

  <ItemGroup>
    <Folder Include="ViewModels\" />
  </ItemGroup>

</Project>

我在使用 Microsoft Azure 时也遇到了同样的问题。

这种情况下的解决方案是清理wwwroot使用 Kudu 的 Web 应用程序中的文件夹(开发工具->高级选项),因为升级到 .NET Core 2.1 之前还剩下一些旧的 DLL,因为 .NET Core 1 将这些 DLL 发布到wwwroot文件夹,而在 2.1 中,DLL 是从全局存储加载的。

完全清空后wwwroot文件夹,并重新部署应用程序,错误已解决并且应用程序按预期运行。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

已发布的 ASP.NET Core 站点上出现错误:找不到包“Microsoft.AspNet.WebApi.Client”的编译库位置 的相关文章

随机推荐