gpt4 book ai didi

c# - 带有 Mono 2.10 的 CaSTLe 动态代理

转载 作者:太空宇宙 更新时间:2023-11-03 13:46:49 24 4
gpt4 key购买 nike

我使用 VS 2012/.NET 4.5 构建了一个类库,它使用基于 this article 的 CaSTLe.DynamicProxy 实现延迟加载。 .它在 .NET 中完美运行,但不适用于 Mono,尽管 documents特别说明 DynamicProxy 可与 Mono 2.6 或更高版本一起使用。我得到的众多异常(exception)之一是:

Could not load type 'System.Runtime.CompilerServices.ExtensionAttribute' from assembly 'Castle.Core'.

我是一个 Mono 菜鸟,所以对于 Mono 专家来说这可能是显而易见的事情。我很沮丧:CaSTLe.DynamicProxy 看起来非常适合我当前的项目。任何帮助将不胜感激。

最佳答案

我不会说 CaSTLe 与 Mono 不兼容。

我实际上将它用于一些项目。我的意思是,我使用使用它的模拟框架。而且效果很好。

CaSTLe 贡献者的实际意思可能是它不能保证 100% 兼容,因为 CaSTLe 套件中的一些单元测试没有通过 Mono 的简单事实。

这些测试未通过的唯一原因是没有人坐下来调查原因并修复 Mono 中的错误。如果有 10 个失败的测试,很可能是 Mono 中有 10 个错误,或者 10 个测试中只有 1 个错误!

鉴于我在 Mono 中使用 CaSTLe 的良好体验,我个人对修复这些错误不感兴趣,因为它们一定只是边缘情况。当我击中它们并且被它们阻止时我会修复它们(就像我对 https://bugzilla.xamarin.com/show_bug.cgi?id=10004 所做的那样),否则不幸的是我没有足够的时间。

这个故事的士气:尝试修复你遇到的 Mono 中的错误(而不是 CaSTLe 遇到的所有错误),这可能需要你 1 或 2 天的调查时间,但稍后你可能会成为之后快乐的 CaSTLe+Mono 用户(和开源贡献者)。

PS:测试 Mono 3.x,你将有更多机会不必调查任何东西,因为错误可能已经修复。

关于c# - 带有 Mono 2.10 的 CaSTLe 动态代理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15075942/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com