我正在使用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错误在错误列表中报告两次:
http://image.prntscr.com/image/9fa7b31678164f3c97fa609d377b8641.png
第一个错误,没有错误代码,会阻止构建解决方案。
我试过了:
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会发出以下有用信息:
http://image.prntscr.com/image/1ab1c57b26e3436aad2ed68f0f381fd7.png
然后再次将该行添加到.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')" />
这个&#39;技巧&#39; VS相信该线已经存在,因此它不会再次添加它。但是,仍然存在一些问题,例如只有在打开包含错误的文件而不是构建时才会出现错误。