我有一个多层解决方案。这些层之一是处理所有功能的projectCore(3层结构中的中间层)。那里有一个使用ocr处理图像的类,它同时运行webAPI项目和winform项目。要运行tesseract-ocr,我必须访问tessdata文件夹。
因此,两个项目都使用此类,并且都返回相同的答案。
昨天我问了this个问题,并获得了很多有关如何到达该文件夹的答案,当时答案是在Path.GetDirectoryName(Assembly.GetEntryAssembly().Location)
到达的bin / debug文件夹上方。
我们这样解决了
var path = Path.GetDirectoryName(Assembly.GetEntryAssembly().Location) + @"\..\..\..\tessdata";
。但是我现在注意到,当我运行API项目时,代码行目前仅适用于winform项目,而不适用于api项目。
这是该方法现在的外观,但是在发布到api时第一行不起作用。
该解决方案基于azure devops,并且该API也在azure上发布,因此当在另一台计算机上或实际上在服务器上运行时,需要访问该文件。
放置此tessdata
文件夹的最佳位置是什么,以便两个项目都可以在运行时访问该文件夹?以及如何访问此文件夹?