在script#中的构建后事件

本文关键字:事件 构建 script# | 更新日期: 2023-09-27 17:51:13

我试图创建后构建事件复制我的脚本#项目的最终.js和.debug.js文件到适当的目录。我不能使用常规输出文件夹,因为我有多个引用另一个项目的项目,并且总是导致构建错误(无法复制引用的脚本,因为它正在被另一个进程使用)。

问题是c#编译器似乎在写实际的。js文件之前运行后构建事件,所以当后构建事件发生时它们不存在。

是否有其他的解决方案使这个工作?

在script#中的构建后事件

您可以在您的csproj中设置DeploymentPath属性,生成的脚本将被复制到那里。

所有的逻辑都在这里:https://github.com/nikhilk/scriptsharp/blob/cc/src/Core/Build/Tasks/ScriptCompilerTask.cs…因此,另一种选择是根据您的需求定制构建任务。

最新的工作,如果你检查github的repo,也有脚本#部分的构建过程中完成的msbuild项目的构建步骤,所以应该释放构建后的步骤,让你做你想要的生成的脚本。见https://github.com/nikhilk/scriptsharp/blob/cc/src/Core/Build/ScriptSharp.targets。同样,它只是msbuild的东西,所以如果不适合您的需要,您也可以根据自己的喜好定制.targets文件。

我通过在使用script# project输出的项目上添加"copy"命令作为预构建步骤来解决这个问题,然后添加依赖项,以便首先构建script# project。