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

Javascript 有没有办法将MSBuild输出目录更改为自定义项目名称?,javascript,typescript,visual-studio,msbuild,tsconfig,Javascript,Typescript,Visual Studio,Msbuild,Tsconfig,我正在尝试将我的typescript代码编译成javascript。 我想将其与另一个项目合并,但由于我的主项目是一个不同的名称,因此我无法合并它,除非我找到一种方法,要么在不使用项目名称的情况下输出文件,要么更改已编译的输出项目名称。我对不同的项目也有很多依赖关系,项目名称不能更改。我想知道是否可以更改csproj文件本身中的名称,或者使用targets更改output dir项目名称 我正在使用.targets文件,并且我已经尝试过使用gulp和tsconfig,但没有成功 档案: C:\P

我正在尝试将我的typescript代码编译成javascript。 我想将其与另一个项目合并,但由于我的主项目是一个不同的名称,因此我无法合并它,除非我找到一种方法,要么在不使用项目名称的情况下输出文件,要么更改已编译的输出项目名称。我对不同的项目也有很多依赖关系,项目名称不能更改。我想知道是否可以更改csproj文件本身中的名称,或者使用targets更改output dir项目名称

我正在使用.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

我正在使用.targets文件,我已经尝试过使用gulp和 tsconfig,但没有运气

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

由于我们可以在
.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>

...
您可以使用自定义生成, ... 这些路径可以被宏替换,比如
$(ProjectDir)
$(SolutionDir)
。。。如果项目文件位于路径
C:\ProjectMain\Project1\
$(ProjectDir)\ts
C:\ProjectMain\Project1\ts

构建顺序:
tsc.exe将xx.ts编译成xx.js=>
自定义构建目标

可能存在的副本