TypeScript не компилируется с WE3 и TS 0.9.1.1

Я только что обновился до последней версии WebEssentials v3, и файлы TS в моем проекте ASP MVC 4 больше не компилируются в JS. Я проверил, что параметры --> текстовый редактор --> TypeScript --> проект -- > автоматически компилировать файлы TypeScript, которые являются частью проекта опция отмечена, но ничего не происходит, когда я сохраняю или компилирую свой проект. Я попытался удалить существующее .js and .минута.JS-файлы, созданные WE2, но это не помогло. Я попытался добавить новый файл TS для моего проекта это и не создавало JS-файл. Я переустановил TS 0.9.1.1, и это не помогло.

Sooooo что делать? Я упускаю что-то очевидное? Что-то не работает или у меня просто неправильные ожидания?

Мне нужно вернуться в WE2?

Update: я даже создал совершенно новый проект ASP MVC 4 C#, чтобы проверить, что это был не только мой оригинальный проект, но и я получил те же результаты.

интересно, что я только что создал новый TypeScript проект и мои файлы TS, скомпилированные должным образом при сохранении... Это интересно..

4 ответов


есть некоторые ссылки в изменение входа из WE3, вот один описывает, как включить функцию компиляции при сохранении, см. http://typescript.codeplex.com/wikipage?title=Compile-on-Save для деталей.

Я создал пакет nuget под названием Ltc.MSBuild.TS0911WE3.targets Что будет делать трюк для вас, просто откройте Package Manager Console, типа Install-Package Ltc.MSBuild.TS0911WE3.targets!

на Ltc.программа MSBuild.TS0911WE3.цели ВКЛ nuget.org.


Я не уверен, что это правильный метод решения проблемы, но вот что я сделал, чтобы получить "компиляцию при сохранении", работающую над моим проектом...

заметив, что компиляция при сохранении работала при запуске с нового HTML приложение с TypeScript project, Я сделал сравнение между этим и моим неработающим проектом ASP MVC. Оказывается, в моем проекте ASP MVC отсутствовал этот бит кода..

  <PropertyGroup Condition="'$(Configuration)' == 'Debug'">
    <TypeScriptTarget>ES3</TypeScriptTarget>
    <TypeScriptRemoveComments>false</TypeScriptRemoveComments>
    <TypeScriptSourceMap>true</TypeScriptSourceMap>
    <TypeScriptModuleKind>AMD</TypeScriptModuleKind>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)' == 'Release'">
    <TypeScriptTarget>ES3</TypeScriptTarget>
    <TypeScriptRemoveComments>true</TypeScriptRemoveComments>
    <TypeScriptSourceMap>false</TypeScriptSourceMap>
    <TypeScriptModuleKind>AMD</TypeScriptModuleKind>
  </PropertyGroup>
  <Import Project="$(VSToolsPath)\TypeScript\Microsoft.TypeScript.targets" />

копировать / вставлять это в мой проект ASP MVC дал мне компиляцию на поддержку сохранения снова. Конечно, это все еще не совсем то, что я ожидал. Результирующие файлы JS не добавляются в проект автоматически, так что это то, что я должен был сделать вручную. Мне также пришлось вручную сгруппировать файл JS с файлом TS, чтобы имитировать тот же опыт, который я получал с WE2.

надеюсь, что это кому-то поможет. Хотелось бы услышать некоторые отзывы о решении.


убедитесь, что ваш .файл proj имеет раздел XML TypeScriptCompile. Вы можете скопировать из проекта typescript, если его нет.

вот спецификация:https://msbuildtypescript.codeplex.com/


использование инструмента "Web essentials" (бесплатно, рекомендуется) включите панель предварительного просмотра в параметрах Web essentials

Инструменты --> Параметры --> Web essentials --> Typescript: Показать панель предварительного просмотра[X]

теперь каждый раз, когда вы сохраняете открытый файл TS, web essentials гарантирует, что файл компилируется (чтобы он мог отображать его), и вы можете обновить код javascript во время выполнения проекта.