Почему Reinforced.Typings полностью игнорирует файл конфигурации xml? - PullRequest
0 голосов
/ 25 июня 2019

Я пытаюсь использовать Reinforced.Typings в старом приложении MVC для обслуживания, чтобы получить схему модели представления для TypeScript.

Проблема в том, что никакие изменения в Reinforced.Typings.settings.xml не оказывают никакого влияния. Это как настройки по умолчанию в этом файле, независимо от того, что я делаю. Я воспроизвел это с помощью ванильного проекта MVC, созданного VS2017 (.NET Framework 4.6).

например. 1. если я изменю <RtTargetFile>$(ProjectDir)Scripts\project.ts</RtTargetFile> на <RtTargetFile>$(ProjectDir)Scripts\foo.ts</RtTargetFile>; тогда project.ts все еще создается, а foo.ts - нет.

например. 2. если я установил <RtDivideTypesAmongFiles>true</RtDivideTypesAmongFiles> и установил <RtTargetDirectory>$(ProjectDir)Scripts\MyApplication</RtTargetDirectory>, файлы / папки в Scripts\MyApplication не создаются, а project.ts все еще создается.

Я скачал пример решения с последней версии github master 1 , и я могу внести изменения в этот XML-файл, и они будут работать. Однако используемая там версия DLL (1.3.5) недоступна в nuget.

Я воспроизвел это со следующими версиями, помеченными *:

  • 1.5.3 *
  • 1.5.2 *
  • 1.5.1, 1.5.0 (не пробовал)
  • 1.4.97 (имеет ошибку пути rtcli)
  • 1.4.95 (есть ошибка: «Задаче« RtCli »не задано значение для обязательного параметра« TargetFramework ».)
  • 1.4.x (не пробовал)
  • 1.3.7 *
  • 1.3.5 (не на nuget, но используется в сэмплах github, работает)
  • 1.3.2 (имеет ошибку: значение не может быть нулевым)

Конечно, кто-то заметил бы это, если бы это была настоящая ошибка? Я думаю, что это я, а не ты! Что я делаю неправильно? Большое спасибо заранее!

[В сторону: разработчик говорит, что с ним можно связаться через Twitter @MurcielagoCat, но эта учетная запись, кажется, не существует)

1 Ответ

1 голос
/ 25 июня 2019

Чтобы это исправить, прежде всего, пожалуйста, убедитесь, что вы перестроили свой проект.В связи со спецификой задач сборки MSBuild на C # он не будет запускать сборку, если исходные файлы не изменены.Поэтому, чтобы быть полностью уверенным - перейдите к любому из ваших .cs исходных файлов и, например, добавьте пустую строку в конце, затем перестройте ваш проект.

Если это не помогает - возможно, вы используете действительно устаревшую версию MSBuild, которая кэширует сценарии сборки.В этом случае измените Reinforced.Typings.settings.xml, затем закройте и снова откройте VisualStudio.Reinforced.Typings.settings.xml не предполагается менять очень часто, поэтому в конкретном случае эта деятельность не займет много времени.В любом случае, в этом случае рассмотрите возможность создания проекта из командной строки (консоль MSBuild), чтобы сэкономить время открытия / закрытия VS.

...