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:
XCOPY, dosya ve dizin ağaçlarını kopyalamak için kullanılır.$(TargetDir)runtimes, çalışma zamanı dosyalarının ilk olarak derlendiği kaynak dizindir.$(TargetDir)bin\runtimes, uygulama yerel olarak çalıştırıldığında çalışma zamanı dosyalarının hedef dizinidir.- Seçenekler:
/S, boş olanlar hariç tüm dizinleri ve alt dizinleri kopyalar./E, boş olanlar da dahil olmak üzere tüm alt dizinleri kopyalar./Y, mevcut dosyaların üzerine yazma onayını engeller./IHedef konum mevcut değilse ve birden fazla dosya kopyalanıyorsa, hedef konumun bir dizin olması gerektiği varsayılır./Rsalt okunur dosyaların üzerine yazar./Dyalnızca hedef konumda daha yeni olan veya eksik olan dosyaları kopyalar.
- Açıklama:


