Подтвердить что ты не робот

Невозможно скомпилировать файлы TypeScript в Visual Studio 2012

Я загрузил и установил расширение TypeScript для VS 2012, я получил свой первый образец компиляции , вручную перетащив ts файл в файл tsc.exe!, потому что никакой другой способ скомпилировать файл не будет работа.

Я не хочу делать это вручную каждый раз, когда хочу отлаживать страницу! Я прочитал около 5 статей в Интернете, и ни одно из решений не работает. Я попытался добавить компилятор TypeScript в PATH в Windows, я попытался загрузить и установить через Nuget Package Manager задачу Sholo, я пробовал эти страницы:

И ни одно решение не сработало.

Я даже загрузил и установил плагин Web Essentials для Visual Studio и перешел в меню "Параметры", затем выбрал "Скомпилировать все TypeScript файлы на Build = True" и "Compile TypeScript on Save = True" - но ничего работы.

Я прочитал весь веб-сайт TypeScript, спецификацию и даже их вкладку обсуждения на сайте codeplex.

Как я могу получить TypeScript для компиляции, когда я сохраняю изменения в файле .ts или, когда я нажимаю F5/Debug/Build?

* Мне действительно не нужны сторонние скрипты/плагины и т.д., если это абсолютно необходимо. Я видел пару их, и это просто... нет смысла. Я мог бы просто написать чистый JavaScript.

4b9b3361

Ответ 1

Вы должны убедиться, что BuildAction должен быть TypeScriptCompile для ваших .ts файлов. Я добавил эти строки в конец файла проекта (.csproj). (Перед закрытием тега проекта) И Кажется, работает.

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

Ответ 2

У меня была аналогичная проблема, когда я переименовал свои .js файлы в .ts. Вы должны щелкнуть правой кнопкой мыши и добавить новый файл TypeScript в свой проект, чтобы ваш .csproj узнал, что компилятор TypeScript должен использоваться в этом файле .ts.

Вы узнаете, что это правильно, когда вы видите стрелку для расширения файла .ts.

enter image description here

Ответ 3

Если вы изменили файл .js в файл .ts, вы можете перейти на панель свойств в Visual Studio и изменить Build Action на TypeScriptCompile. Этого не хватает при изменении файла. Это может избавить вас от удаления и повторного добавления файлов.

Ответ 4

У меня была та же проблема. Я не мог добавить в проект новый файл .ts. После переименования из .js в файл .ts файл не был скомпилирован. Он даже не был скомпилирован с использованием tsc в командной строке.

НО! После воссоздания файла в проводнике Windows он был скомпилирован. А после ручного создания файла в Windows Explorer (не Visual Studio) в папке Scripts и включении его в проект - все РАБОТЫ. Я не мог обнаружить изменения между этими двумя файлами. Но если вы создаете текстовый файл в проводнике, переименуйте его в .ts и после этого включите в проект и установите файл Build Action для TypeScriptCompile - он работает.

Ответ 5

plug

Я создаю пакет NuGet, который добавляет цель afterbuild в ваш проект, поэтому все включенные ts файлы скомпилированы в js.

Установочный пакет TypeScript.Compile

Ответ 6

У меня была та же проблема. Я обновил расширение веб-сайта, и проблема решена. Если у вас есть расширение веб-сайтов, вы можете попробовать это.

Ответ 7

Проверьте, недействителен ли TypeScript. Существуют некоторые ошибки TypeScript, которые не отображаются в списке ошибок, но они предотвращают TypeScript Compile-On-Save и показывают сообщение Output generation failed в строке состояния Visual Studio.

Это ошибки TypeScript, которые могут вызвать это:

  • export класс, который не находится внутри модуля (v 0.9.5).

Пожалуйста, дайте мне знать, если таких ошибок больше, я добавлю их здесь.