Yerel Makinede IronOCR ile Azure Functions Hata Ayıklama
Azure yerel olarak çalıştırılırken karşılaşılan sorunlar
Bu sorunu yaşarken karşılaşılan yaygın istisnalar şunlardır:
- IronOCR için Tesseract dağıtım sırasında hata
- 'libtesseract-5' bulunamadı
- 'libtesseract-5' bulunamadı
- Tesseract-5 bulunamadı
- Dağıtım yapılandırma dosyasını \bin\runtimes\win-x64\native\IronOcr.Native.deployment.json konumunda bulurken hata
- IronOCR: 'EnglishBest' için gerekli olan ve burada bulunması gereken eksik .traineddata dosyası
Yerel Azure Functions Çalıştırırken Bağımlılıkla İlgili Sorun
Azure'u yerel çalıştırırken, Azurite (VS2022) veya Azure Depolama Öykünücüsü (VS2019) kullanırken, depolama öykünücüsünün dağıtım için kullandığı ek bir bin dizini oluşturulur. Bu dizine yalnızca DLL dosyaları kopyalanır, bu nedenle ek dosyalara ihtiyaç duyan yazılımlar çalışmaz ve yukarıdaki istisnayı atabilir.
Bu sorunu, çalışma zamanları dizinini Depolama Öykünücüsü'nün kullandığı ayrı bin dizinine kopyalayarak çözebilirsiniz. Yeniden derleme/yapılandırma işleminin bin dizinini orijinal durumuna döndürecek olması nedeniyle yerel olarak çalıştırılırken yapı sonrası olay olarak bunu yapmanızı öneriyoruz (aşağıdaki talimatlara bakın). Bu sorun buluta dağıtım yaparken oluşmaz.
- Problem: Yerel bir Azure İşlev projesi çalıştırırken, çalışacak işlev için ek bir bin klasörü oluşturur. Ancak, gerekli tüm dosyaları bu bin klasörüne kopyalamaz.
- Örnek: C:\code\azure-functions-test konumundaki bir proje C:\code\azure-functions-test\bin\Debug\netcoreapp3.1 olarak derlenir
- Çözüm: C:\code\azure-functions-test\bin\Debug\netcoreapp3.1\runtimes dizinini kopyalayarak C:\code\azure-functions-test\bin\Debug\netcoreapp3.1\bin içinde de bulundurun.
- İstenirse mevcut dosyaların üzerine yazın

Yapı Sonrası Olay Adımları
- Azure Functions projesine sağ tıklayın, Özellikler'i seçin.
- Etkinlikler bölümüne inin.
-
İstenen tüm dosyaları doğru dizine kopyalayacak bir Yapı Sonrası olay komutu girin.
XCOPY "$(TargetDir)runtimes" "$(TargetDir)bin\runtimes" /S /E /Y /I /R /DXCOPY "$(TargetDir)runtimes" "$(TargetDir)bin\runtimes" /S /E /Y /I /R /DSHELL- Açıklama:
XCOPYdosyaları ve dizin ağaçlarını kopyalamak için kullanılır.$(TargetDir)runtimesçalışma zamanı dosyalarının başlangıçta derlendiği kaynak dizindir.$(TargetDir)bin\runtimesuygulama yerel olarak çalıştığında çalışma zamanı dosyalarının hedef dizinidir.- Seçenekler:
/Sboş olanlar hariç dizinleri ve alt dizinleri kopyalar./Eboş olanlar dahil tüm alt dizinleri kopyalar./Ymevcut dosyaların üzerine yazma onayını bastırır./Ieğer hedef yoksa ve birden fazla dosya kopyalanıyorsa hedefin bir dizin olması gerektiği varsayılır./Rsalt okunur dosyaların üzerine yazar./Dyalnızca daha yeni olan veya hedefte eksik olan dosyaları kopyalar.
- Açıklama:


