2

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

问题是 C# 编译器似乎在写入实际的 .js 文件之前运行构建后事件,因此在构建后事件发生时它们不存在。

有没有其他解决方案可以使这项工作?

4

2 回答 2

0

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

所有的逻辑都在这里: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。同样,它只是 msbuild 的东西,所以如果 .targets 文件不符合您的需要,您也可以根据自己的喜好自定义它。

于 2013-01-11T22:06:26.880 回答
0

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

于 2013-02-25T18:11:37.657 回答