Почему мой WorkItem не работает из-за ошибки нарушения необработанного доступа? - PullRequest
0 голосов
/ 11 февраля 2019

Я пытаюсь опубликовать WorkItem, используя v2 API автоматизации проектирования и forge-api-nodejs-client.WorkItem принимает файл json в качестве входного параметра.Пользовательский плагин .NET, который я создал, зависит от файла json.

Сбой WorkItem из-за FailedMissingOutput.Я распечатал отчет и заметил это ...

[02/11/2019 19:14:48] Command: DRAWMARKUPS
[02/11/2019 19:14:49] ************************MessageBox****************************
[02/11/2019 19:14:49] AutoCAD Error Aborting
[02/11/2019 19:14:49] FATAL ERROR:  Unhandled Access Violation Reading 0x0008 Exception at 82480c14h
[02/11/2019 19:14:49] >>>Responding: OK.
[02/11/2019 19:14:49] **************************************************************
[02/11/2019 19:14:49] ************************MessageBox****************************
[02/11/2019 19:14:49] AutoCAD Error-abort
[02/11/2019 19:14:49] Error handler re-entered.  Exiting now.
[02/11/2019 19:14:49] >>>Responding: OK.
[02/11/2019 19:14:49] **************************************************************
[02/11/2019 19:14:49] End AutoCAD Core Engine standard output dump.
[02/11/2019 19:14:50] Error: AutoCAD Core Console output contains error(s).
[02/11/2019 19:14:50] End script phase.
[02/11/2019 19:14:50] Start upload phase.
[02/11/2019 19:14:50] Error: Non-optional output [a57863c8-3085-4bc2-90b6-709595f1c566.dwg.dwg] is missing .
[02/11/2019 19:14:50] Error: An unexpected error happened during phase Publishing of job.
[02/11/2019 19:14:50] Job finished with result FailedMissingOutput

Вот строки в моем плагине .NET, которые могут его сломать ...

string drawingName = Path.GetFileName(acDoc.Name);

...

// Read input parameters from JSON file
JArray jArray = JArray.Parse(File.ReadAllText("markups.json"));

...

acCurDb.SaveAs(drawingName, DwgVersion.AC1027);

Кроме того, я 'я не включаю никакие CommandLineParameters в Instruction объект в определение моей Деятельности.

  const activityObject = {
    id: id,
    instruction: {
      CommandLineParameters: null,
      Script: `${script}`
    },
    appPackages: appPackages,
    requiredEngineVersion: `20.1`,
    parameters: {
      InputParameters: [{
        Name: `HostDwg`,
        LocalFileName: `$(HostDwg)`
      }],
      OutputParameters: [{
        Name: outPutFilename,
        LocalFileName: `${outPutFilename}.dwg`
      }]
    },
    allowedChildProcesses: [],
    version: 1,
    isPublic: true,
    theData: null,
    obj: null
  };

Я подозреваю, что мне не хватает права CommandLineParameters из моего Определения Деятельности, но я понятия не имеюкакими они должны быть.

Почему мой WorkItem не работает?Это активность или плагин?И как я могу это исправить?

Обновление: я исправил опечатку .dwg.dwg в имени выходного файла.Теперь WorkItem успешен, но я все еще получаю ошибку Unhandled Access Violation.Кроме того, мой сценарий, кажется, не читает в файле JSON.Плагин работает локально, поэтому я до сих пор не знаю, что случилось.

1 Ответ

0 голосов
/ 12 февраля 2019

Я рекомендую вам добавить дополнительные записи в ваш плагин .net, чтобы вы могли триангулировать проблему.Вы можете использовать простые методы Console.WriteLine, и они появятся в вашем отчете.Возможно, вы хотите перехватить исключение и вывести его, чтобы вы знали, что не удалось.

Откуда взялся markup.json?Это часть вашего почтового индекса AppPackage?

Я не думаю, что CommandLineParameters сыграет здесь какую-либо роль.Вы можете оставить его пустым для действий, которые используют accoreconsole.exe.Мы по умолчанию это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...