The SDK directory for TypeScript 1.3 in Visual Studio 2013 does not include the necessary tsc.exe file

Exciting news! Typescript v1.3 has been officially announced today. To fully utilize this update, I quickly installed the power tools update for VS2013.

Upon completion of the installation, my Visual Studio environment now recognizes the "protected" keyword and tuple types. This new feature is definitely a welcomed addition!

However, when I decided to upgrade the TypeScriptToolsVersion attribute in my *.csproj file from 1.1 to 1.3:

<TypeScriptToolsVersion>1.3</TypeScriptToolsVersion>

An error occurred during the build process:

The specified task executable location "C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.3\tsc.exe" is invalid.

It appears that the "1.3" folder was not automatically generated by the installer.

To resolve this issue, I resorted to simply duplicating the existing 1.1 compiler.

Does anyone have insights into why the 1.3 folder was omitted from this release?

Note: Utilizing VS Professional 2013 (12.0.30723.00 Update 3)

Answer №1

The latest version 1.3 will now be installed in the 1.1 folder, and new projects will automatically set the <TypeScriptToolsVersion> property in the project file to "1.1" as well. This element value is crucial as it determines where to find the compiler at "C:\Program Files (x86)\Microsoft SDKs\TypeScript". It's important for this value to stay synchronized.

Multiple compiler versions can coexist side by side, like we've seen with the 1.0 and 1.1 folders. The compiler corresponding to the TypeScriptToolsVersion setting in the project will be used for building the project. We don't update the targeted version automatically to ensure compatibility with other users who may not be using the latest toolsets.

However, only one version of the language service can exist in Visual Studio, which will always be the most recent installation. Despite this, older project versions should still function correctly due to our commitment to maintaining backwards compatibility. Any new features incompatible with the specified compiler version will result in compile-time errors but won't affect your ability to edit the project.

If you open a project with an earlier version specified, a warning will alert you that the project version doesn't match the language service. This warning is harmless and simply advises you that some new features might cause problems during compilation. Adding unsupported language service features will trigger build errors, as warned by the initial notification.

We understand this system isn't perfect and are actively exploring ways to improve it. We apologize for any confusion it may have caused.

Answer №2

After recently updating the tsUnit project to TypeScript 1.3, I noticed that the tools version had changed:

<TypeScriptToolsVersion>1.0</TypeScriptToolsVersion>

The new tools version was:

<TypeScriptToolsVersion>1.1</TypeScriptToolsVersion>

This discrepancy means that the "Tools Version" does not align with the language version.

  • TypeScript 1.1 has ToolsVersion 1.0
  • TypeScript 1.3 has ToolsVersion 1.1

It's important to recognize that the language, compiler, and tools can have varying versions. To check the language version, run tsc -v which should display Version 1.3.0.0 for the latest version (as of November 2014).

Answer №3

Why was the exclusion of the 1.3 folder not addressed in this particular release?

This insightful response sheds light on the matter: https://github.com/Microsoft/TypeScript/issues/1138#issuecomment-62993605 Quote:

For those wondering, you should find the 1.3 language services within tools version 1.1, while the 1.1 folder should house the 1.3 compiler. It's admittedly a bit confusing.

Similar questions

If you have not found the answer to your question or you are interested in this topic, then look at other similar questions below or use the search

Unable to assign a value to an undefined property in TypeScript

I need to store data in an object and then add it to another object let globalSamples = {} as any; let sample = { } as ISamplesDetail []; sample = []; for (let i = 0 ; i<this.prelevementLingette.samplesDetail.length; i++) { sample [i].id= thi ...

Angular's queryParams do not appear to properly connect with the query parameters

My code seems to have a mistake somewhere, but I can't figure it out. In my [queryParams] = "{allowEdit: server.id == 3 ? 1 : 0}", the params object is empty when I subscribe to it in the edit-server component. Why is it empty and how do I a ...

Convert string to integer value

Is it possible to convert a literal string type (not runtime value) to its corresponding numerical type, for example '1' to 1? I am looking to restrict a variable to only being a key of an object (assuming the type of obj is precise since TypeSc ...

What is the best way to output data to the console from an observable subscription?

I was working with a simple function that is part of a service and returns an observable containing an object: private someData; getDataStream(): Observable<any> { return Observable.of(this.someData); } I decided to subscribe to this funct ...

Sorting through items within a container object

I am currently working with an object named 'docs' that contains multiple objects within it. I am attempting to determine the count of entries that have specific values for both 'exopp_rooms_id_c' and 'is_active'. While this m ...

Verification of unique custom string

How can I ensure that a string follows the specific format of x.xx.xxxxx? The first character is mandatory, followed by a period, then two characters, another period, and finally any number of characters of varying lengths. ...

Error: Trying to modify a property that is set as read-only while attempting to override the toString() function

I have a specific object that includes an instance variable holding a collection of other objects. Right now, my goal is to enhance this list of elements by adding a customized toString() method (which each Element already possesses). I experimented with t ...

Typescript is issuing warnings when displaying errors for the RTK query

I am currently using React Ts and Rtk query. My goal is to display the API response error on the UI. While it's working, I am encountering a warning that prompts me to set an error type for the response errors. How can I incorporate an error type for ...

What is causing the failure of the state to be inherited by the child component in this scenario (TypeScript/React/SPFX)?

For this scenario, I have a Parent class component called Dibf and a Child class component named Header. While I can successfully pass props from the Parent to the child, I am encountering difficulties when trying to pass state down by implementing the fo ...

The Angular application is not functioning properly after running npm start, even though all the necessary packages have

Encountering a perplexing issue with my Angular application. After checking out the code on my new machine, I attempted to run my existing Angular 12 project. However, despite the application running properly in the command prompt, it is not functioning as ...

Dealing with 'TypeError X is Not a Function' Error in Angular (TypeScript): Occurrences in Certain Scenarios and Absence in Others

Recently, I came across an odd issue in Angular 14 where a type error kept popping up. Although I managed to refactor the code and find a workaround, I'm quite intrigued as to why this issue is happening so that I can prevent it from occurring again i ...

A step-by-step guide on how to simulate getMongoRepository in a NestJS service

Struggling with writing unit tests for my service in nestjs, specifically in the delete function where I use getMongoRepository to delete data. I attempted to write a mock but couldn't get it to work successfully. Here is my service: async delete( ...

Encountered Angular SSR Serve Error: NullInjectorError - StaticInjectorError in AppServerModule with the following reference:

While working on building an application with Angular's SSR and serving it, I encountered a specific error. All services and components have been properly injected. Error: ERROR Error [NullInjectorError]: StaticInjectorError(AppServerModule)[REQUEST] ...

Variability in determining union types for matched conditional results

In my experience, I have noticed a discrepancy in TypeScript's type inference when dealing with conditional return statements in functions. I have two identical functions, register and register2, outlined below: const register = (step: 1 | 2) => { ...

Vue + TypeScript prop type issue: "'Foo' is intended as a type, but is being treated as a value in this context."

As a newcomer to TypeScript and the Vue Composition API, I encountered an error that left me puzzled: I have a component that requires an api variable as a prop, which should be of type AxiosInstance: export default defineComponent({ props: { api: A ...

Compelling users to provide feedback on an App with the Ionic Framework

As a novice developer, I could use some assistance with implementing ratings in my app. My goal is to show menu items based on whether a user has given my app a 5-star rating. For instance, if a user gives a 5-star rating, I would assign the class "review ...

Troubleshooting issue with getServerSideProps not functioning in Next.js while utilizing Next-redux-wrapper and TypeScript

When attempting to trigger an action as outlined in the documentation using the getServerSideProps function with the help of next-redux-wrapper store and redux-thunk, I am encountering the following TypeScript error: ts(2322): Type '({ req }: GetServe ...

The duration of recorded audio in JavaScript is unclear

I managed to successfully create a structure for recording and downloading audio files. However, I'm facing an issue where the final downloaded file has an unknown duration. Is there any way to solve this problem?? Here is my Typescript code snippet: ...

Managing Data Types in a React and Express Application

I am working on a project that includes both a React client and a Node-Express backend. Currently, my React app is running with TypeScript and I am looking to switch my backend to TypeScript as well. At the moment, my project structure consists of a clien ...

The function call with Ajax failed due to an error: TypeError - this.X is not a function

I am encountering an issue when trying to invoke the successLogin() function from within an Ajax code block using Typescript in an Ionic v3 project. The error message "this.successLogin() is not a function" keeps popping up. Can anyone provide guidance on ...