Задача slowcheetah.transformtask неожиданно завершилась неудачей. - PullRequest
0 голосов
/ 06 сентября 2018



Получение следующей ошибки при использовании пользовательского файла конфигурации json.
Код серьезности Описание Состояние подавления строки файла проекта Ошибка Задача «SlowCheetah.TransformTask» неожиданно завершилась неудачей. System.UnauthorizedAccessException: доступ к пути 'D: \ Data \… \ Settings.Release.json' запрещен. в System.IO .__ Error.WinIOError (Int32 errorCode, String MaybeFullPath) at System.IO.FileStream.Init (Путь к строке, режим FileMode, доступ к FileAccess, права Int32, логическое значение useRights, общий ресурс FileShare, параметры типа3232 bufferSize, параметры FileOptions, SECURITY_ATTRIBUTES secAttrs, строка String msgPath, логическое значение bFromProxy, логическое значение useLongPath, Boolele), Boolele) в System.IO.FileStream..ctor (путь строки, режим FileMode, доступ к FileAccess, общий доступ к FileShare) в Microsoft.VisualStudio.Jdt.JsonTransformation..ctor (String transformFile, IJsonTransformationLogger logger) в Microsoft.VisualStudio.SlowCheetah.JsonTransformer.Transform (String sourcePath, String transformPath, String destinationPath) в Microsoft.VisualStudio.SlowCheetah.TransformTask.Execute () в Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute () в Microsoft.Build.BackEnd.TaskBuilder.d__26.MoveNext () OzCruisingHangfireAgent.Program

С наилучшими пожеланиями,
Дамодара

1 Ответ

0 голосов
/ 21 сентября 2018

Это известная проблема.

Преобразователь JSON в SlowCheetah v3.1.66 пока не поддерживает исходные файлы и файлы преобразования, доступные только для чтения.

См. Следующие вопросы:
https://github.com/Microsoft/slow-cheetah/issues/86
https://github.com/Microsoft/json-document-transforms/issues/16

Объединенный PR # 17 содержит исправление для Microsoft.VisualStudio.Jdt , но оно еще не выпущено.

Вот несколько обходных путей:

  1. Сделать все файлы доступными для записи при выходе из системы контроля версий.
  2. Вызовите задачу Attrib MSBuild перед преобразованием, чтобы удалить атрибут файла только для чтения.

Например:

<Attrib Files="D:\Data\…\Settings.Release.json" Normal="true"/>

  1. Вызовите задачу Exec MSBuild перед преобразованием, чтобы удалить атрибут файла только для чтения.

Например:

<Exec Command="attrib -R &quot;D:\Data\…\Settings.Release.json&quot;"/>

...