Saya telah melalui IStorage, Microsoft Compound File Spec, deserialization ArcObjects dll. Mencoba mendeteksi versi file .lyr.
Menggunakan ArcObjects, saya bisa mendapatkan di properti Layer, sumber data, luas, dll, tetapi properti documentVersion dari LayerFileClass selalu melaporkan kembali 'esriArcGISVersion10' pada file 9.3 layer.
ILayerFile l = new LayerFileClass();
l.Open(fileName);
LayerFileClass t = (LayerFileClass)l;
string version = t.DocumentVersion.ToString();
Bantuan apa pun dihargai.
Perhatikan posting forum yang keras ini dari tahun 2007.
arcobjects
arcmap
katup London
sumber
sumber
Jawaban:
Setelah file lapisan dimuat, ini adalah versi saat ini sebagai pembukaan yang memutakhirkannya. Properti DocumentVersion ada hanya untuk mengatur versi untuk disimpan kembali ke versi sebelumnya dengan kelas LayerFile.
Versi dokumen yang sebenarnya tidak ditulis ke file lapisan. Satu-satunya informasi versi yang ditulis adalah versi ketekunan internal objek. Informasi ini dapat diekstraksi melalui penyimpanan terstruktur tetapi Anda perlu mencari nomor versi ini untuk setiap jenis lapisan yang memungkinkan (dan Anda juga perlu mengekstraksi panduan jenis lapisan untuk mengetahui jenis lapisannya).
sumber