Опубликовать события сборки в Script#
Я пытаюсь создать события после сборки, чтобы скопировать окончательные файлы.js и.debug.js для моих проектов сценария # в соответствующие каталоги. Я не могу использовать обычную папку вывода, так как у меня более одного проекта, который ссылается на другой проект, и это всегда приводит к ошибке сборки (Невозможно скопировать ссылочный скрипт, потому что он используется другим процессом).
Проблема в том, что компилятор C# запускает события после сборки ДО того, как записывает фактические файлы.js, поэтому они не существуют, когда происходит событие после сборки.
Есть ли другое решение, чтобы сделать эту работу?
2 ответа
Я справился с этим, добавив команду "копировать" в качестве шага предварительной сборки к проектам, которые использовали вывод script# project, а затем добавив зависимость, чтобы сначала был создан скрипт script# project.
Вы можете настроить свойство DeploymentPath в вашем csproj, и сгенерированные сценарии будут скопированы туда.
Вся логика здесь: https://github.com/nikhilk/scriptsharp/blob/cc/src/Core/Build/Tasks/ScriptCompilerTask.cs... так что другой вариант - настроить задачу сборки точно под ваши требования.
В последней работе, если вы посмотрите репозиторий github, также есть часть скрипта процесса сборки, выполняемая на этапе сборки проекта msbuild, так что вы должны освободить шаг после сборки, чтобы вы могли делать то, что вам нужно с сгенерированными скриптами. См. https://github.com/nikhilk/scriptsharp/blob/cc/src/Core/Build/ScriptSharp.targets. Опять же, это просто сборка, так что вы можете настроить файл.targets по своему вкусу, если он не соответствует вашим потребностям.