2014-12-11 14 views
8

Używam pomruku i skonfigurowałem proces kompilacji maszyn do pisania, który nasłuchuje zmian plików, dlatego nie potrzebuję domyślnej kompilacji VS moich plików maszynopisu podczas zapisywania lub kompilowania mojego projektu.Wyłącz kompilację maszynopisów w Visual Studio 2013

Mam odznaczone opcję "Kompiluj przy zapisie" pod maszynopisem we właściwościach projektu, ale pliki ts są nadal kompilowane. Jedyny sposób, w jaki działa to dla mnie, to jeśli ustawię akcję budowania pojedynczych plików TS na "Brak", ale to nadal powoduje kompilację niektórych plików Typescript. Czy jest jakiś sposób, aby to zrobić w VS2013?

+1

Czy otrzymasz rozwiązanie problemu? Mając ten sam problem w tej chwili. – xvdiff

+0

Hi xvdiff. Jak wspomniano powyżej, odznacz opcję "kompiluj przy zapisie" pod maszynopisem we właściwościach projektu, a następnie ustaw akcję budowania plików ts na "brak". Trochę nudny, wiem, ale to jedyny sposób, w jaki mam go do roboty. – juju

+0

Upewnij się, że nie masz Web Essentials lub podobnego rozszerzenia, które może kompilować podczas kompilacji. – moefinley

Odpowiedz

-3

zmienić właściwość Build Action na plikach maszynopis do czegoś innego niż TypeScript Compile

4

Miałem to samo pytanie i rozwiązanie, które znalazłem to, aby zastąpić cele maszynopis w pliku projektu VS:

<Target Name="PreComputeCompileTypeScript"> 
    <Message Text="Skipping PreComputeCompileTypeScript" /> 
</Target> 
<Target Name="CompileTypeScript"> 
    <Message Text="Skipping CompileTypeScript" /> 
</Target> 
<Target Name="GetTypeScriptCopyToOutputDirectoryItems"> 
    <Message Text="Skipping GetTypeScriptCopyToOutputDirectoryItems" /> 
</Target> 
13

W VS2015, ustawienie <TypeScriptCompileBlocked>true</TypeScriptCompileBlocked> można dodać do pierwszego elementu w <PropertyGroup> .csproj

wyjściu msbuild powinien następnie pokazać

PreComputeCompileTypeScript: 
    TypeScript compile is skipped because the TypeScriptCompileBlocked property is set to true. 

Od: http://rostacik.net/2015/08/14/how-to-disable-building-of-typescript-files-in-visual-studio-2015/

+0

Dla mojego projektu RC2 core asp2 VS2015 (który nie miał pliku .csproj), dodanie true do pliku .xproj (nie .csproj) zatrzymało kompilację maszynopisu, która ma miejsce, gdy PUBLIKUJĘ moje projekt.Maszynka do pisania już nie skompilowała się podczas składowania, ponieważ dodałem do mojego projektu tsconfig.json (bez "compileOnSave": true). Używam łyka do kompilacji dla mojego przepływu pracy. Ale w moim przypadku true było potrzebne do wyłączenia kompilacji podczas publikowania mojego projektu. Używam maszynopisu 1.8.9. – uonchiu

1

@Christopher Mott odpowiedź działa również dla Visual Studio 2013, przynajmniej dla Update 5 i maszynopis Tools dla Microsoft Visual Studio 2013 1.8.5.0. Aby mieć pewność, można sprawdzić, czy VS maszynopis toolchain rozumie że flaga:

Otwarte .csproj plik do projektu intendend i zauważyć, że importuje cele maszynopis z niektórych:

$ (MSBuildExtensionsPath32) \ Microsoft \ VisualStudio \ v $ (VisualStudioVersion) \ maszynopis \ Microsoft.TypeScript.targets

że generalnie map do:

C: Program Files \ (x86) \ MSBuild \ Microsoft \ VisualStudio \ < numer wersji VS> \ maszynopis \ Microsoft.TypeScript.targets

Sprawdź ten plik i poszukaj TypeScriptCompileBlocked są zdefiniowane (jak fałszywy) w niektórych <PropertyGroup>. Jeśli tam jest, jesteś posortowany. Wróć do pliku .csproj i dodaj następujące informacje, zaraz po zaimportowaniu miejsc docelowych TypeScript:

<!-- Disable TypeScript compilation from within VS, leave that to external tools --> 
<PropertyGroup> 
    <TypeScriptCompileBlocked>True</TypeScriptCompileBlocked> 
</PropertyGroup> 
Powiązane problemy