Есть ли способ изменить выходной каталог MSBuild на настраиваемое имя проекта?

Я пытаюсь скомпилировать свой машинописный код в 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


person Redyne    schedule 17.10.2019    source источник


Ответы (1)


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

Не знаком с тем, как заставить его работать в tsconfig. Но похоже, что вы используете msbuild и файл 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>

Для настройте свою сборку, скопируйте задачу , удалить задачу, переместить задачу ... И эти пути можно заменить макросами типа _7 _, _ 8 _... Если у вас есть файл проекта по пути C:\ProjectMain\Project1\, $(ProjectDir)\ts ‹=> C:\ProjectMain\Project1\ts.

Порядок сборки: tsc.exe compile xx.ts в xx.js => custom build target

введите описание изображения здесь

person LoLance    schedule 18.10.2019