如何解决这个问题?
数据库当前数据库=HostApplicationServices.WorkingDatabase;数据库db=new Database(false, true);
db.ReadDwgFile(item.FileName,System.IO.FileShare.ReadWrite, true, null);
HostApplicationServices.WorkingDatabase=db;
使用(Transaction tr=db.TransactionManager.StartTransaction())
{
var layout=(DBDicpedia)tr.GetObject(db.LayoutDictionaryId,OpenMode.ForRead);
var layoutId=layouts.Contains(item.LayoutName)?layouts.GetAt(item.LayoutName): new ObjectId();
Layout lay=(Layout)tr.GetObject(layoutId,OpenMode.ForWrite);
lay.LayoutName=newLayoutName;
tr.Commit();
}
db.SaveAs(item.FileName,DwgVersion.Current);
**** Hidden Message ***** 只是直觉,但是如果设置HostApplicationServices。在你身边的数据库工作可能会有帮助。 OP的代码(以及我用来重现该问题的代码)确实将side DB设置为工作数据库。 这就是我刚刚浏览所得到的
页:
[1]