MSBuild输出缺少由Typescript编译的javascript文件

时间:2014-09-11 12:49:29

标签: msbuild typescript

我们在CI服务器上使用MSBuild来编译我们的WebApp,但是构建忽略了TypeScript从构建的输出构建的JavaScript文件。

我希望输出包含JavaScript而不是Typescript,但是在预期位置的输出中都没有。

如何在我的解决方案中包含JavaScript文件而不必将它们全部包含在内? TypeScript团队似乎认为这很糟糕,但我不想在我的解决方案中复制所有文件。

4 个答案:

答案 0 :(得分:6)

问题是由于在构建服务器上使用MSBuild而不是“Publish”。我向内容添加了一个AfterBuild目标,包括构建输出的所有JS文件。

<Target Name="AfterBuild">
   <ItemGroup>
      <Content Include="**\*.js" />
   </ItemGroup>
</Target>

虽然这不太理想,但它允许在使用visual studio时,js文件不会在解决方案中显示,文件最终会在构建输出中显示。

答案 1 :(得分:5)

我尝试了很多来自网络的解决方案,包括<Content Include="**\*.js" />,但没有任何效果。我在我的本地开发框中使用了MSBuild,并在C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\TypeScript中安装了打字稿和目标。

事实证明我的老了&#34;用于Web应用程序csproj文件的MSBuild运行器已过时。我这样做了:

MSBuild.exe my.csproj /Target:ResolveReferences;_CopyWebApplication /property:WebProjectOutputDir=myfolder;OutDir=myfolder\bin;Configuration=Debug 

但感谢this post我需要使用UseWPP_CopyWebApplication代替遗产_CopyWebApplication

MSBuild.exe /t:Rebuild "/p:WebProjectOutputDir=myfolder;OutDir=myfolder\bin;Configuration=Debug;UseWPP_CopyWebApplication=True;PipelineDependsOnBuild=False" my.csproj

现在没有编辑csproj文件,我的所有TypeScript都包含在内!

答案 2 :(得分:0)

可能未在构建服务器上安装TypeScript。要安装它,请将TypeScript文件夹从c:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\复制到构建服务器上的同一文件夹(其中v12是Visual Studio的版本)。

然而,构建服务器上的Visual Studio版本可能不同。在我的情况下,我的开发机器上的版本是v12,而构建服务器使用v11。我通过在[WebProjectName].csproj文件中添加以下内容找到了它:

<Target Name="PrintVisualStudioInfo">
    <Message Text="VisualStudioVersion: '$(VisualStudioVersion)'" Importance="High" />
</Target>
<PropertyGroup>
    <CompileDependsOn>
        PrintVisualStudioInfo;
        $(CompileDependsOn)
    </CompileDependsOn>
</PropertyGroup>

请务必将其放在最后一个<Import />元素之后。现在,当您在构建服务器上查看构建的输出时,您应该在某处看到“VisualStudioVersion: xx ”。

TypeScript文件夹复制到构建服务器上的正确版本文件夹。

答案 3 :(得分:0)

只是添加它以防止人们。
我们最近有这个问题,并通过添加修复 /p:VisualStudioVersion=12.0到BAT文件:

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\msbuild.exe FullBuild.proj /p:VisualStudioVersion=12.0 /t:createRelease /p:ReleaseNumber=5.22.0
相关问题