javascript - 有没有办法将 MSBuild 输出目录更改为自定义项目名称?

标签 javascript typescript visual-studio msbuild tsconfig

我正在尝试将我的 typescript 代码编译为 JavaScript。 我想将其与另一个项目合并,但由于我的主项目是一个不同的名称,所以我无法合并它,除非我找到一种方法来输出完全没有项目名称的文件,或者更改编译的输出项目名称。我对不同项目也有许多依赖项,项目名称无法更改。我想知道是否可以更改 csproj 文件本身的名称,或使用目标来更改输出目录项目名称。

我正在使用 .targets 文件,并且我已经尝试使用 gulp 和 tsconfig,但没有成功。

文件:

C:\ProjectMain\Project1\ts

helloWorld.ts

C:\ProjectMain\Project1\js >

当前输出:

C:\ProjectMain\Project1\js\Project1

helloWorld.js

想要的输出:

C:\ProjectMain\Project1\js\Project2

helloWorld.js

最佳答案

I am using .targets files, and I have already tried using gulp and tsconfig, but with no luck.

不熟悉如何让它在 tsconfig 中工作。但似乎您正在使用 msbuild 和目标文件来构建该项目,您可以编辑项目文件来自定义构建过程。

因为我们可以指定 custom target.njsprj (Node.js的项目文件),.csproj (普通C#项目的项目文件)或xx.targets您可以使用下面的脚本来复制 C:\ProjectMain\Project1\js\Project1 的内容至C:\ProjectMain\Project1\js\Project2 .

<Project...>
...
  <Target Name="CustomPostBuild" AfterTargets="build">
    <ItemGroup>
      <!--Specify which files we will move-->
      <FilesToMove Include="C:\ProjectMain\Project1\js\Project1\*.*"/> 
    </ItemGroup>
    <MakeDir Directories="C:\ProjectMain\Project1\js\Project2" />
    <Move SourceFiles="@(FilesToMove)" DestinationFolder="C:\ProjectMain\Project1\js\Project2"/>
  </Target>
</Project>

您可以使用msbuild tasks自定义您的构建,copy task , delete task , move task ...这些路径可以用 $(ProjectDir) 之类的宏替换, $(SolutionDir) ...如果路径 C:\ProjectMain\Project1\ 中有项目文件, $(ProjectDir)\ts <=> C:\ProjectMain\Project1\ts .

构建订单: tsc.exe compile xx.ts到 xx.js => custom build target

enter image description here

关于javascript - 有没有办法将 MSBuild 输出目录更改为自定义项目名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58435173/

相关文章:

javascript - 如何使用 node.js 服务器处理大量负载?

javascript - javascript 中的 function(){} 和 (function(){})

javascript - 浏览器不断丢失 javascript 文件

javascript - 具有特定父输入的加号减号按钮不起作用

c++ - 如何在 Windows 10 中查看 Docker 默认标准输出?

typescript - Typescript 中的类方法

javascript - 嵌套 json 对象中数组过滤器的使用

node.js - typescript 中的 baseUrl 和路径 - 如何

sql-server - SSIS 在设计时获取连接但在同一台机器上调试期间失败

c# - Visual Studio - 摘要标记注释 - 可选参数