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

Azure.AI.OpenAI包报错:ChatCompletionsOptions.Messages只读无法赋值

解决方案:ChatCompletionsOptions.Messages 只读属性赋值错误

错误原因

Azure.AI.OpenAI 包中 ChatCompletionsOptions 的 Messages 属性仅提供只读访问器(getter),没有设置器(setter),因此无法直接通过 options.Messages = new List<ChatMessage>() 这类方式赋值整个集合,只能对属性返回的集合实例进行元素添加操作。

可行的赋值方式

方式1:使用集合初始化器初始化

创建 ChatCompletionsOptions 实例时,直接通过集合初始化语法向 Messages 中添加元素:

using Azure.AI.OpenAI;

var chatOptions = new ChatCompletionsOptions
{
    Messages =
    {
        new ChatMessage(ChatRole.System, "你是一个专业的技术助手"),
        new ChatMessage(ChatRole.User, "如何解决.NET中的CS0200错误?")
    }
};

方式2:实例化后逐个添加元素

先创建 ChatCompletionsOptions 对象,再通过 Add 或 AddRange 方法添加消息:

using Azure.AI.OpenAI;

var chatOptions = new ChatCompletionsOptions();

// 单个添加
chatOptions.Messages.Add(new ChatMessage(ChatRole.User, "我的问题内容"));

// 批量添加已有消息列表
var existingMessages = new List<ChatMessage>
{
    new ChatMessage(ChatRole.System, "系统提示词"),
    new ChatMessage(ChatRole.Assistant, "历史回复")
};
chatOptions.Messages.AddRange(existingMessages);

关键说明

Messages 属性返回的是一个可修改的集合(通常为 IList<ChatMessage> 类型),所以你可以对其进行添加、移除、清空等操作,但不能直接替换整个集合实例。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 10:24:56