我正在尝试将我的 typescript 代码编译为 JavaScript。 我想将其与另一个项目合并,但由于我的主项目是一个不同的名称,所以我无法合并它,除非我找到一种方法来输出完全没有项目名称的文件,或者更改编译的输出项目名称。我对不同项目也有许多依赖项,项目名称无法更改。我想知道是否可以更改 csproj 文件本身的名称,或使用目标来更改输出目录项目名称。
我正在使用 .targets 文件,并且我已经尝试使用 gulp 和 tsconfig,但没有成功。
文件:
C:\ProjectMain\Project1\ts
helloWorld.ts
C:\ProjectMain\Project1\js >
block 引用>当前输出:
C:\ProjectMain\Project1\js\Project1
block 引用>helloWorld.js
想要的输出:
C:\ProjectMain\Project1\js\Project2
block 引用>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
关于javascript - 有没有办法将 MSBuild 输出目录更改为自定义项目名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58435173/