【c# msce】tag修改不生效

希望完成的功能是,能在不显式打开文件的前提下,修改tag的值。利用com中的接口,可以在显式打开文件后修改成功,但是若文件没有显示打开,则修改无效,所以没采用。

使用Bentley.DgnPlatformNET.Elements中的接口修改tag,能隐式读取文件,但是TagElement.SetTagValue()无法修改成功。如果加了TagElement.ReplaceInModel(),则会报错。

sc.Scan(scanDelegate);//执行扫描
foreach(ElementId tagid in tagids)//tag的id集合
{
    TagElement tag=drawingModel.FindElementById(tagid) as TagElement;
    if (tag!=null&&attrs.ContainsKey(tag.TagName))
    {
        tag.SetTagValue(attrs[tag.TagName].Trim());
        tag.ReplaceInModel(tag);
        MessageCenter.Instance.ShowErrorMessage("tag临时输出:", file + "\n te.tagName" + tag.TagName + "\n 赋值:" + attrs[tag.TagName], false);
    }
}