Visual studio 在Visual Studio中禁用TypeScript文件自动发现

Visual studio 在Visual Studio中禁用TypeScript文件自动发现,visual-studio,typescript,Visual Studio,Typescript,在TS版本0.9之前,Visual Studio要求所有TypeScript文件通过//引用其依赖项。 若引用不正确或丢失,则抛出错误。 自v0.9以来,此行为已更改:现在VisualStudio自动发现所有可用的TS文件,并且不会抛出任何错误(显然,因为它知道所有依赖项) 我们遇到的问题是文件顺序。如果没有正确的///VisualStudio将生成错误连接的结果文件,这将导致JS错误 例如,我们有Foo和Boo类型。Boo使用Foo。您可能期望Foo在Boo之前声明,但实际上Foo的声明在Bo

在TS版本0.9之前,Visual Studio要求所有TypeScript文件通过//引用其依赖项。 若引用不正确或丢失,则抛出错误。 自v0.9以来,此行为已更改:现在VisualStudio自动发现所有可用的TS文件,并且不会抛出任何错误(显然,因为它知道所有依赖项)

我们遇到的问题是文件顺序。如果没有正确的///VisualStudio将生成错误连接的结果文件,这将导致JS错误

例如,我们有Foo和Boo类型。Boo使用Foo。您可能期望Foo在Boo之前声明,但实际上Foo的声明在Boo之后

当然,我们可以使用//,即使VS实际上并不需要它,构建过程也可以正常工作。但由于VS在对所需文件使用未命中引用时不会抛出任何错误,所以您永远不知道结果文件是否正确连接,类型声明是否正确排序

所以,我想知道是否有办法禁用此“自动发现”模式并接收未解析引用列表。或者有没有其他我可以利用的工作


顺便说一句,我们还尝试了TS gulp插件,它生成了正确连接的JS代码。不幸的是,它比内置的VS TypeScript慢很多(5-6秒VS 1-2秒)。这就是为什么我们回到VS.

的原因,多亏了一位TS开发人员找到了解决方案(供参考)。 我必须说,如何解决这个问题是完全不明显的,如果没有TS开发者,我甚至不会认为这会以某种方式改变Visual Studio插件的行为(TS网站和博客上都没有这方面的信息)。因此,再次感谢穆罕默德·赫加齐,他为我提供了信息:)

如果您遇到与我相同的问题,您必须执行以下操作:

  • 为Visual Studio安装TS 1.8+
  • 使用typescript文件将tsconfig.json添加到根文件夹中
  • 在tsconfig.json的“files”部分添加对“entry files”的引用(在我的例子中,我们在这里添加了两个文件;从这两个文件开始,我可以发现解决方案中的每个TS文件)
  • 别忘了添加对“.d.ts”的引用

  • 感谢您发布您的技术,我也有同样的需求,并成功地使用了此解决方案。但是,由于我的单元测试,我使用了
    declarations:true
    编译器选项,每当生成声明文件时,我都会收到十亿个
    重复标识符
    错误,并且我的代码会有完整或红色下划线。看起来VS仍然在自动发现我的web项目(经典的ASP.NET MVC5项目)中的
    d.ts
    文件。你知道怎么处理吗?事实上,我有一个类似的问题,但在我的情况下,这是因为ReSharper。不幸的是,我不记得到底是什么解决了这个问题,很可能是ReSharper+restart VS