删除 BC 19 中的 DotNet

remove DotNet in BC 19

我想摆脱 DotNet。

是否有我可以用于此代码的任何代码单元(可能是 FileManagement 中的某些内容):

procedure GetNoOfFilesInFolder(): Integer
var
    DirectoryInfo: DotNet DirectoryInfo;
    Directory: DotNet Directory;
begin
    IF NOT Directory.Exists(pathToFolder) THEN
        EXIT(-1);
    DirectoryInfo := DirectoryInfo.DirectoryInfo(pathToFolder);
    EXIT(DirectoryInfo.GetFiles().Length);
end;

您确实可以为此使用 File Management 代码单元,但它只会删除直接的 DotNet 依赖项。 File Management 只是对相同 DotNet 程序集的包装。

在任何情况下,如果您要使用文件系统,您都需要在 app.json.

中将 target 设置为 OnPrem

以下代码应完成与您的示例相同的操作:

local procedure GetNoOfFilesInFolder(PathToFolder: Text): Integer
var
    FileList: Record "Name/Value Buffer" temporary;
    FileManagement: Codeunit "File Management";
begin
    if not FileManagement.ServerDirectoryExists(PathToFolder) then
        exit(-1);

    FileManagement.GetServerDirectoryFilesList(FileList, PathToFolder);
    exit(FileList.Count);
end;