我正在使用 ReSharper 2016.2 在 Visual Studio 2015 中使用 React 和 TypeScript 开发 ASP.NET 5 MVC 6 Web 应用程序。我使用的
tsconfig.json
看起来像这样:
{
"compilerOptions": {
"noImplicitAny": false,
"noEmitOnError": false,
"removeComments": false,
"experimentalDecorators": true,
"module": "commonjs",
"moduleResolution": "node",
"sourceMap": true,
"target": "es5",
"jsx": "react"
},
"exclude": [
"node_modules",
"wwwroot",
"typings/index.d.ts",
"typings/index",
"jspm_packages"
],
"compileOnSave": true
}
如您所见,
noEmitOnError
是错误的。但是,安装 Update 3 后,如果存在任何键入错误,Visual Studio 将不再允许我构建解决方案。每个 TS 错误都会在错误列表中报告两次:
第一个错误(没有错误代码)会阻止解决方案的构建。
我已经尝试过:
tsconfig.json
文件。tsconfig.json
的模式并确保启用错误发出。我发现该问题的唯一解决方案是从
.csproj
文件中删除以下行:
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.targets" Condition="Exists('$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.targets')" />
执行此操作后,TypeScript 工具仍然可以正常工作(存在一些小问题),并且以
Build:
开头的错误消失。
问题是,对
.ts
文件进行一些操作后,Visual Studio 会发出以下有用的消息:
并再次将该行添加到
.csproj
文件中。起初一切都很好,但是当我重新启动 Visual Studio 后,Build:
错误再次出现。
好的,更好的解决方法是用以下内容替换坏线:
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.targets" Condition="False And Exists('$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.targets')" />
这“欺骗”VS 相信该行已经存在,因此不会再次添加它。但是,仍然存在问题,例如仅在打开包含错误的文件时才会出现错误,而不是在构建时出现。
进入当前用户目录
启动/运行 %USERPROFILE% 或 C:\Users\
\
找到名为 node_modules
的文件夹删除它
重建项目