【发布时间】:2016-07-08 10:50:13
【问题描述】:
我有一个使用 Typescript 的 Visual Studio 项目。这个项目被编译成一个 dll,然后在主项目中被引用。这适用于所有正常编译的文件,但是当涉及到转译的 javascript 文件时,我遇到了问题。
子项目在.csproj文件中有以下内容
<Target Name="AfterClean">
<ItemGroup>
<EmbeddedResource Include="**\*.html;**\*.cshtml;**\*.css;**\*.js;**\*.map;**\*.jpg;**\*.png" />
</ItemGroup>
</Target>
这将在运行重建解决方案时包含项目中的 .js 文件,但在使用正常构建或从 Visual Studio 中“运行”时将不包含 .js 文件。
我认为问题与时间有关,我希望在 typescript 转译发生之后,但在 dll 包含在主项目中之前进行嵌入。
我尝试了以下选项“BeforeBuild”、“AfterBuild”、“BeforeResolveReference”、“AfterResolveReferences”、“BeforeResGen”和“AfterResGen”。 - 发现自一篇msdn文章here
理想情况下,我想将 DependsOnTargets=TypeScript 编译添加到我的嵌入任务中,这样它就强制在转译之后进行嵌入,但是 typescript 编译似乎不是目标,因为它在 .csproj 中看起来就像这样文件,所以我不相信这是可能的
<ItemGroup>
<TypeScriptCompile Include="app\app.module.ts" />
...
</ItemGroup>
任何想法将不胜感激
(我正在使用 Visual Studio 2015 Update 3 和 Typescript 1.8)
编辑:构建服务器在 PATH 上没有 tsc,因此我无法从预构建事件中调用 tsc
【问题讨论】:
标签: visual-studio typescript visual-studio-2015