我正在Visual Studio在线HOsted服务器上构建我的项目,该服务器说它正在运行旧版本:
PreComputeCompileTypeScriptWithTSConfig:
C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.8\tsc.exe has TypeScript 2.0.6 installed.
当我尝试构建时,我遇到构建错误,我认为这些错误是由于--project" d:_work \ 9 \ s \ Main \ SRC \ Portal \ tsconfig.json" CompileTypeScriptWithTSConfig: C:\ Program Files(x86)\ Microsoft SDKs \ TypeScript \ 1.8 \ tsc.exe --project" d:_work \ 9 \ s \ Main \ SRC \ Portal \ tsconfig.json" ## [错误] VSTSC(0,0):错误TS5023:构建:未知编译器选项' baseUrl'。 VSTSC:错误TS5023:构建:未知的编译器选项' baseUrl'。 [d:_work \ 9 \ S \主\ SRC \ MyProject.csproj] ## [错误] VSTSC(0,0):错误TS5023:构建:未知的编译器选项'路径'。 VSTSC:错误TS5023:构建:未知的编译器选项'路径'。 [d:_work \ 9 \ S \主\ SRC \ MyProject.csproj] ## [错误] VSTSC(0,0):错误TS5023:构建:未知编译器选项' typeRoots'。 VSTSC:错误TS5023:构建:未知的编译器选项' typeRoots'。 [d:_work \ 9 \ S \主\ SRC \ MyProject.csproj] 完成建筑项目" d:_work \ 9 \ s \ Main \ SRC \ MyProject.csproj" (默认目标) - 失败。 完成建筑项目" d:_work \ 9 \ s \ Main \ Solutions \ MyProject.sln" (默认目标) - 失败。
我有一个指定的
<TypeScriptToolsVersion>2.0</TypeScriptToolsVersion>
在我的项目文件中,但似乎无法识别。我错过了什么来迫使newwer TS版本运行?这可能是由其他原因造成的吗?
更新: 看来我可以降级到1.7并且它会识别(但显然会中断),但它不会使用2.0 - 这表明它没有安装在托管计算机上。手动将构建命令设置为
后然后我收到错误
[错误] C:\ Program Files(x86)\ MSBuild \ Microsoft \ VisualStudio \ v14.0 \ TypeScript \ Microsoft.TypeScript.targets(165,5):
错误:您的项目文件使用不同版本的TypeScript 编译器和工具,而不是当前在此计算机上安装的。没有 编译器在C:\ Program Files(x86)\ Microsoft中找到 的SDK \打字稿\ 2.0 \ tsc.exe。您可以通过以下方法解决此问题 更改项目文件中的元素。
但根据这个:https://www.visualstudio.com/en-us/docs/build/admin/agents/hosted-pool#software - 它应该安装(使用Visual Studio 15),对吗?
答案 0 :(得分:3)
测试结果与您相同,仍然使用1.8。
请参阅以下步骤来解决此问题:
编辑项目文件(.csproj)
a。)配置MSBuild以使用NuGet包的道具文件。
<Import Project="..\packages\Microsoft.TypeScript.MSBuild.2.0.6\build\Microsoft.TypeScript.MSBuild.props" Condition="Exists('..\packages\Microsoft.TypeScript.MSBuild.2.0.6\build\Microsoft.TypeScript.MSBuild.props')" />
<!--<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.Default.props" Condition="Exists('$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.Default.props')" />-->
b。)配置MSBuild以使用NuGet包的目标文件。
<Import Project="..\packages\Microsoft.TypeScript.MSBuild.2.0.6\build\Microsoft.TypeScript.MSBuild.targets" Condition="Exists('..\packages\Microsoft.TypeScript.MSBuild.2.0.6\build\Microsoft.TypeScript.MSBuild.targets')" />
<!--<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.targets" Condition="Exists('$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.targets')" />-->
如果是.Net Core项目,请将此代码添加到.xproj文件的部分
<TypeScriptToolsVersion>2.0.6</TypeScriptToolsVersion>
<TscToolPath>C:\Users\[user account]\.nuget\packages\Microsoft.TypeScript.MSBuild\2.0.6\tools\tsc</TscToolPath>