2016-07-01 6 views
8

Próbowałem skonfigurować maszynopis w Visual Studio przez wiele miesięcy.Skonfiguruj Visual Studio 2015 tak, aby projekty wirtualne maszyn wirtualnych NIGDY nie tworzyły "luźnych plików".

Nie mogę znaleźć ostatecznej, niezawodnej i kompletnej specyfikacji, jak zainstalować lub skonfigurować skrypt typu w Visual Studio Enterprise 2015, tak, że nigdy nie wpadnę w pułapkę, że moje pliki x.ts pojawią się w "różnych" Projekt wirtualny jest oddzielony od projektu wirtualnego zawierającego biblioteki lib.d.ts i tsconfig.json.

Ten warunek powoduje utratę intellisense, konieczność powrotu do uniwersalnych odniesień potrójnych slashów i zasadniczo nieosiągalny kod w dowolnym komercyjnym środowisku rozwojowym lub innym środowisku związanym z produkcją. Krótko mówiąc, sprawia, że ​​maszynopis nie uruchamia się dla profesjonalnego programisty.

Stan googlowania w tym temacie poprawił się w 2016 r. W stosunku do tego, co było w 2014 r. I 2015 r., Ale najbardziej ostateczne informacje nadal znajdują się na liście problemów Typithcript Github Microsoftu, ale odpowiedzi te są zbyt szczegółowe, by jednoznacznie je podawać jako ogólny przewodnik. Inne najlepsze definicje to Scott Logic's discussion i the Typescript site's tutorial on ASP.NET 4 projects.

Ustawiłem zmienną TypescriptVersion na poprawną wersję w folderach maszyn MS SDK typu VS2015. W moim przypadku jest to 15.0 (pomimo faktu, że wersja MSBuilda w Maszynopisie to 18.0). Więc nie otrzymuję już irytującego błędu w tym zakresie.

Mam odpowiedni plik tsconfig.json pasujący do tego opisanego w projekcie ASP.NET 4 strony Typescript.

Mam plik lib.d.ts wygenerowany przez VS2015, a moja nazwa Virtual Project zawierająca pliki lib.d.ts i tsconfig.json ma nazwę myproject (tsconfig.json). Wszystko to jest spodziewane.

Jednak gdy tylko dodaję pusty plik "base.ts" do mojego Skryptu/wspólnego folderu, otrzymam inny wirtualny projekt Typescript o nazwie "Różne", który zawiera plik lib.es6.d.ts i moją nową bazę .ts.

Oznacza to, że VS2015 rozpoznaje mój nowy pusty plik .ts jako "luźny plik", niezwiązany z kontekstem kompilacji maszynopisu. Wspomniany wcześniej post Scott Logic zajmuje się tym zagadnieniem w bardzo dużym stopniu, ale w bardziej wyrafinowanym celu.

Muszę wiedzieć, co się dzieje, aby uzyskać ten nieskuteczny wynik, jak temu zapobiec i jak poprawnie skonfigurować maszynopis w projektach ASP.NET 4, zarówno nowych projektach, jak i istniejących projektach, aby ta nieskuteczna sytuacja nigdy się nie zdarzyła lub można szybko i niezawodnie poprawić.

Jeśli masz jakiekolwiek informacje na ten temat, lub jakiekolwiek doświadczenie, które krzyżuje się z czymś, co może stanowić nawet część wyjaśnienia, z radością przyjmuję twoją odpowiedź.

Odpowiedz

4

Miałem ten sam problem. Po wielu próbach i błędach, naprawiłem go poprzez dodanie następujących opcji tsconfig.json:

{ 
 
    "compilerOptions": { 
 
    "watch": true 
 
    }, 
 
    "include": ["**/*"] 
 
}

+0

Dobrze, że znalazłem poprawkę, i że jesteś dzielenie się nim z nami. Czy mógłbyś wyjaśnić, co robią opcje? (i dlaczego rozwiązują problem?) – Matt

Powiązane problemy