You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

同一命名空间同名类调用:如何指定使用Microsoft.Azure.Documents的UnixDateTimeConverter

解决同名类冲突问题

问题背景

项目同时依赖Microsoft.Azure.Cosmos(v3.29.1.0)与Microsoft.Azure.Documents(v2.10.3.0)包,二者在Microsoft.Azure.Documents命名空间下存在同名类UnixDateTimeConverter。需强制使用Microsoft.Azure.Documents包中带public访问修饰符的该类,当前冲突出现在CosmosModel/Student.cs文件中。

解决方法

方案1:使用外部别名(Extern Alias)

  • 右键项目中的Microsoft.Azure.Documents引用 → 属性
  • 在“别名”字段输入自定义别名(如DocumentsV2)并保存
  • 修改Student.cs代码,添加别名声明并指定目标类:
extern alias DocumentsV2;

namespace DataAccess.CosmosModel{
public class Student{
public string id { get; set; }
public string Email { get; set; }
public bool IsEmailConfirmed { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public DateTime DateOfBirth { get; set; }
public string PhoneNumber { get; set; }
public string CountryCode { get; set; }

[Newtonsoft.Json.JsonConverter(typeof(DocumentsV2::Microsoft.Azure.Documents.UnixDateTimeConverter))]
[Newtonsoft.Json.JsonProperty(PropertyName = "_ts")]
 public virtual DateTime Timestamp { get; set; }
}

方案2:使用程序集限定名

无需设置别名,直接在typeof中指定类的完整程序集信息,明确指向目标包的类:

namespace DataAccess.CosmosModel{
public class Student{
public string id { get; set; }
public string Email { get; set; }
public bool IsEmailConfirmed { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public DateTime DateOfBirth { get; set; }
public string PhoneNumber { get; set; }
public string CountryCode { get; set; }

[Newtonsoft.Json.JsonConverter(typeof(Microsoft.Azure.Documents.UnixDateTimeConverter, "Microsoft.Azure.Documents.Client, Version=2.10.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"))]
[Newtonsoft.Json.JsonProperty(PropertyName = "_ts")]
 public virtual DateTime Timestamp { get; set; }
}

注意:需确保程序集名称、版本号、公钥Token与你引用的Microsoft.Azure.Documents包完全匹配,可通过查看该包的属性获取这些信息。

内容的提问来源于stack exchange,提问作者Dat Ha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 15:57:20