Gen*_*ent 4 msbuild typescript
我们在CI服务器上使用MSBuild来编译我们的WebApp,但是构建忽略了TypeScript从构建输出构建的JavaScript文件.
我希望输出包含JavaScript而不是Typescript,但是在预期位置的输出中都没有.
如何在我的解决方案中包含JavaScript文件而不必将它们全部包含在内?TypeScript团队似乎认为这很糟糕,但我宁愿没有解决方案中所有文件的重复.
问题是由于在构建服务器上使用MSBuild而不是"Publish".我向内容添加了一个AfterBuild目标,包括构建输出的所有JS文件.
<Target Name="AfterBuild">
<ItemGroup>
<Content Include="**\*.js" />
</ItemGroup>
</Target>
Run Code Online (Sandbox Code Playgroud)
虽然这不是理想的,但是当使用visual studio时,它允许js文件不在解决方案中显示,文件最终会在构建输出中显示.
我尝试了很多来自网络的解决方案<Content Include="**\*.js" />,但没有任何效果.我在我的本地开发盒上使用了MSBuild,并且安装了typescript并且目标可用C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\TypeScript.
事实证明,我的"旧"MSBuild运行商的Web应用程序csproj文件已经过时.我这样做:
MSBuild.exe my.csproj /Target:ResolveReferences;_CopyWebApplication /property:WebProjectOutputDir=myfolder;OutDir=myfolder\bin;Configuration=Debug
Run Code Online (Sandbox Code Playgroud)
但是由于这篇文章,我需要使用UseWPP_CopyWebApplication而不是遗产_CopyWebApplication:
MSBuild.exe /t:Rebuild "/p:WebProjectOutputDir=myfolder;OutDir=myfolder\bin;Configuration=Debug;UseWPP_CopyWebApplication=True;PipelineDependsOnBuild=False" my.csproj
Run Code Online (Sandbox Code Playgroud)
现在没有编辑csproj文件,我的所有TypeScript都包含在内!
| 归档时间: |
|
| 查看次数: |
3795 次 |
| 最近记录: |