System.TypeLoadException: 类型 'ServiceStack.IO.MemoryVirtualFiles' 中的方法 'WriteFileAsync'

System.TypeLoadException: Method 'WriteFileAsync' in type 'ServiceStack.IO.MemoryVirtualFiles'

当 Azure DevOps 构建我的项目时,在应用程序启动时出现此错误。应用程序在 Visual Studio.

中运行良好
   Unhandled exception. System.TypeLoadException: Method 'WriteFileAsync' in type 'ServiceStack.IO.MemoryVirtualFiles' from assembly 'ServiceStack.Common, Version=5.0.0.0, Culture=neutral, PublicKeyToken=null' does not have an implementation.
   at ServiceStack.ServiceStackHost..ctor(String serviceName, Assembly[] assembliesWithServices)
   at ServiceStack.AppHostBase..ctor(String serviceName, Assembly[] assembliesWithServices) in C:\BuildAgent\work81147c480f4a2f\src\ServiceStack\AppHostBase.NetCore.cs:line 31
   at WebApp.AppHost..ctor() in D:\a\s\NCMSProgram\NCMSProgram\Startup.cs:line 340
   at MyCtor()
   at ServiceStack.ModularStartup.CreateStartupInstance(Type type)
   at ServiceStack.ModularStartup.GetPriorityInstances()
   at ServiceStack.ModularStartup.ConfigureServices(IServiceCollection services)
   at ServiceStack.ModularStartupActivator.ConfigureServices(IServiceCollection services)
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor, Boolean wrapExceptions)
   at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at Microsoft.AspNetCore.Hosting.ConfigureServicesBuilder.InvokeCore(Object instance, IServiceCollection services)
   at Microsoft.AspNetCore.Hosting.ConfigureServicesBuilder.<>c__DisplayClass9_0.<Invoke>g__Startup|0(IServiceCollection serviceCollection)
   at Microsoft.AspNetCore.Hosting.ConfigureServicesBuilder.Invoke(Object instance, IServiceCollection services)
   at Microsoft.AspNetCore.Hosting.ConfigureServicesBuilder.<>c__DisplayClass8_0.<Build>b__0(IServiceCollection services)
   at Microsoft.AspNetCore.Hosting.GenericWebHostBuilder.UseStartup(Type startupType, HostBuilderContext context, IServiceCollection services, Object instance)
   at Microsoft.AspNetCore.Hosting.GenericWebHostBuilder.<>c__DisplayClass13_0.<UseStartup>b__0(HostBuilderContext context, IServiceCollection services)
   at Microsoft.Extensions.Hosting.HostBuilder.CreateServiceProvider()
   at Microsoft.Extensions.Hosting.HostBuilder.Build()
   at WebApp.Program.Main(String[] args)

每当您使用在您的项目中引用的预发布包时出现类型或缺少方法异常 NuGet.config:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <add key="ServiceStack MyGet feed" value="https://www.myget.org/F/servicestack" />
    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
  </packageSources>
</configuration>

通常是因为在不同的时间下载相同的预发布包版本,您可以通过删除 NuGet 包缓存来解决这个问题:

$ nuget locals all -clear

然后再次恢复您的包,这会获取每个包的最新版本,确保它们都是同时构建的。

作为额外的预防措施,我已经重新构建并部署了所有预发布包,因此只需重新运行 任务也可能会解决它。