使用 servicestack 和 AppDynamics 监视器时无法加载类型

Could not load type when using servicestack and AppDynamics monitor

安装 AppDynamics 性能监视器时,服务堆栈 API 无法加载,出现以下异常:

无法从程序集“###,Version=1.0.0.0,Culture=neutral,PublicKeyToken=null”加载类型 'd__38'。

堆栈跟踪: 在###.BaseService1.<Any>d__38.MoveNext() in ###\Services\BaseService.cs:line 190 at System.Runtime.CompilerServices.AsyncTaskMethodBuilder1.Start[TStateMachine](TStateMachine& stateMachine) 在###.BaseService1.Any(T request) at ServiceStack.Host.ServiceRunner1.Execute(IRequest 请求,对象实例,TRequest requestDto)

非常感谢任何帮助。

谢谢

很乐意在这里帮助您,但没有关于错误的详细信息,请发送电子邮件至 help@appdynamics.com 寻求帮助。我假设这是 C#,但不会基于此知道。 AppDynamics 支持多种语言和技术。

对于可能感兴趣的人,我已经找到了解决方法和有关此问题的更多详细信息。这仅在以下情况下发生:

  1. AppDynamics 代理已安装并且运行
  2. ServiceStack API 使用来自 c:\Windows\Microsoft.NET\Framework64\v4.0.30319\MsBuild.exe
  3. 的 MSBuild 编译

如果您使用随 Microsoft Visual Studio 2015 RC 安装的 MsBuild 14,则不会再出现此问题。从我的第一个发现来看,ServiceStack 使用 Linq 缓存端点和包装执行方法的方式存在问题,但我不明白为什么只有在安装 AppDynamics 代理时才会发生这种情况。

@mythz 如果您想更深入地研究这个问题,我可以提供帮助,但使用上述解决方案一切正常。

希望对您有所帮助