Я пытаюсь скомпилировать свой машинописный код в javascript. Я хочу объединить это с другим проектом, но поскольку у моего основного проекта другое имя, я не могу объединить его, пока не найду способ либо полностью вывести мои файлы без имени проекта, либо изменить имя скомпилированного выходного проекта. У меня также есть много зависимостей от разных проектов, названия которых нельзя изменить. Я хочу знать, можно ли изменить имена в самом файле csproj или использовать цели для изменения имени проекта выходного каталога.

Я использую файлы .targets, и я уже пробовал использовать gulp и tsconfig, но безуспешно.

Файлы :

C: \ ProjectMain \ Project1 \ ts

helloWorld.ts

C: \ ProjectMain \ Project1 \ js>

Токовый выход:

C: \ ProjectMain \ Project1 \ js \ Project1

привет, World.jsp>

Требуемый результат:

C: \ ProjectMain \ Project1 \ js \ Project2

привет, World.jsp>

0
Redyne 17 Окт 2019 в 17:38

1 ответ

Лучший ответ

Я использую файлы .targets, и я уже пробовал использовать gulp и tsconfig, но безуспешно.

Не знаком с тем, как заставить его работать в tsconfig. Но похоже, что вы используете msbuild и файл target для сборки этого проекта, вы можете отредактировать файл проекта, чтобы настроить процесс сборки.

Поскольку мы можем указать настраиваемую цель в .njsprj (файл проекта Node.js), .csproj (файл проекта обычных проектов C #) или xx.targets файл. Вы можете использовать сценарий ниже, чтобы скопировать содержимое {{X3 }} на 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, чтобы настройте свою сборку, скопируйте задачу , удалить задачу, переместить задачу... И эти пути могут быть заменены макросами, такими как $(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

1
Lance Li-MSFT 18 Окт 2019 в 03:27