我正在向我的项目添加服务引用(到Exchange Web服务),并且我在构建时遇到了一个不明确的引用错误。 (Resharper实际上给了我一个设计时错误,VS不是)
我正在使用AutoMapper(有用的库https://github.com/AutoMapper/AutoMapper/wiki)将我的业务实体映射到DAL,编译器向我保证AutoMapper程序集和mscorlib中都存在System.SerializationAttribute。它在AutoMapper程序集中不存在,所以我想这有点像红鲱鱼......
我有点困惑 - 如果我删除服务引用,我可以使用System.SerializationAttribute装饰器没有问题。一旦我向EWS添加了一个服务引用,我就会在整个项目中为任何System.SerializationAttribute修饰器得到这个错误!这给了我一个线索,引用是在创建歧义,但在哪里?
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.450")]
[System.SerializableAttribute()] <-- ambiguous ref issue with this decorator
[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.microsoft.com/exchange/services/2006/types")]
public enum RuleValidationErrorCodeType {
我还有另一个问题,当我尝试将其添加为Web引用时,我无法进入“添加Web引用”对话框。我刚刚得到一个“无法为对话框创建控件”。有没有人见过这个?
答案 0 :(得分:1)
似乎AutoMapper 2.0.0.0存在一个错误,您可以在此处看到,但使用Silverlight版本
https://github.com/AutoMapper/AutoMapper/issues/181
但是,如果你的应用程序不使用Silverlight,你应该可以避免这个问题。
您确定使用AutoMapper的“no-silverlight”dll吗?
下载AutoMapper时,您将获得2个文件夹:
两者都有一个AutoMapper.dll 如果您引用net40-client,那么您应该没问题。