有没有办法将 MSBuild 输出目录更改为自定义项目名称?
Is there a way to change MSBuild output directory to a custom project name?
我正在尝试将我的打字稿代码编译成 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 和 targets 文件来构建该项目,您可以编辑项目文件以自定义您的构建过程。
因为我们可以在 .njsprj
(Node.js 的项目文件)、.csproj
(普通 C# 项目的项目文件)或 xx.targets
中指定 custom target file.You可以使用下面的脚本将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 to customize your build, 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。 我想将它与另一个项目合并,但由于我的主要项目是不同的名称,所以我无法合并它,除非我找到一种方法来完全输出没有项目名称的文件,或者更改已编译的输出项目名称。我也有很多项目名称无法更改的不同项目的依赖项。我想知道是否可以更改 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 和 targets 文件来构建该项目,您可以编辑项目文件以自定义您的构建过程。
因为我们可以在 .njsprj
(Node.js 的项目文件)、.csproj
(普通 C# 项目的项目文件)或 xx.targets
中指定 custom target file.You可以使用下面的脚本将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 to customize your build, 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