2016-01-04 21 views
20

的Visual Studio 2015年企業版本14.0.24720.00更新1以及ReSharper的10旗艦版,安裝的版本10.0.2。我有一個使用AtScript語法的打字稿文件來引用Angular2指令模塊作爲其註釋。但是,ReSharper陳述以下錯誤:的Visual Studio 2015年企業與ReSharper的10旗艦版 - 不能得到妥善的解決

Symbol 'Directive' cannot be properly resolved, probably it is located in inaccessible module.

以下是完整的錯誤工具提示。

enter image description here

應用編譯和運行正如所料,和應用程序的角部也起到期望的。看起來好像這是一個ReSharper假陰性。是否有人熟悉其他解決方法,只需禁用ReSharper或忽略警告?

回答

11

的問題是簡單地ReSharper的最新版本中的錯誤,如果你掛起ReSharper的問題簡單地消失,所有的源代碼按預期工作。

更新

這已經被在ReSharper 2016.1版本解決。

+2

對於它的價值,這個錯誤 - 不一定在這個精確的場景中 - 在2016.2.2中顯示給我TS 2.0.3,並打開--strictNullChecks標誌。 –

+4

我在TS 2.0.3中也看到了錯誤仍在2016.2.2。 Typescript編譯得很好 - 但它抱怨的是jj。 –

+1

我在R#2016.2.2和2016.3 EAP8中看到了它,使用TS 2.0.6。像其他人一樣,TS正在編譯,但是Resharper抱怨。我想我開始使用'strictNullChecks'的時候開始了。提起這個錯誤:https://resharper-support.jetbrains.com/hc/en-us/requests/803955?flash_digest=b7c62e7ca4e90ba381450c63d6573661eb70ef7b –

2

截至02/2016,問題是在ReSharper的終極10.1 EAP 3

這個版本還是有,雖然

原來的答覆其他一些打字稿修復的問題,解釋爲什麼它couldn不適用於以前版本:

有相同的設置和相同的問題。我堅信這是有關:「moduleResolution」:「節點」

https://youtrack.jetbrains.com/oauth?state=%2Fissue%2FRSRP-273158

Unfortunately, no way now. We're working on node.js support for the next ReSharper version.

+0

不幸的是這似乎並沒有幫助... –

+0

但可能沒有其他的幫助比新ReSharper的版本 –

+0

謝謝你,你的回答使我的解決方案。你可以在這裏下載R#EAP版本:https://confluence.jetbrains.com/display/ReSharper/ReSharper+10.1+EAP –

2

作爲一種解決辦法,如果你正在使用angular2從node_modules文件夾中,然後就可以直接引用它,而不是依靠的在新節點模塊上解析。例如,你可以這樣做:

import {Directive} from '../../node_modules/angular2/core'; 
+0

然而,事實上這是一項工作,我正在尋找永久性的解決方案......這會帶來什麼風險? –

+0

如果您移動文件,您需要更新所有導入的相對路徑... – Laoujin

0

它可能是resharper問題。禁用它從工具 - >選項 - > Resharper Ultimate-> General-> Suspend Now,並且錯誤將被隱藏。

0

我越來越對我的ReSharper的2017.1模塊一個同樣的問題,在Visual Studio 2017年

enter image description here

但更新我的ReSharper的到2017年2月2日,即解決了這個問題之後。

enter image description here