2014-03-26 35 views
3

試圖打開我的VS與加載Node.js的工具解決方案時,我收到此錯誤:的Node.js的Visual Studio 2013 - 路徑太長錯誤

錯誤:指定的路徑,文件名,或者兩者都太長。完全限定的文件名必須少於260個字符,且目錄名稱必須少於248個字符。

我的項目路徑不能縮短,我在我的驅動器的根目錄。 如果我將「node_modules」文件夾移出解決方案文件夾,那麼我可以打開該解決方案,因此它似乎是某種內容。

+0

什麼錯誤?什麼是防止你做錯的錯誤? –

+0

現在從節點js 5開始,它的軟件包使用簡化的文件夾結構,並且依賴關係變得平坦並且文件夾路徑的長度比先前的文件夾路徑更短。所以升級Node JS是明智的。供參考 –

回答

1

嘗試在您的csproj文件中創建一個Inline Task以便下載nodejs,應該注意的是在這個過程中,您將必須對您的節點模塊進行扁平化並記下所有文件路徑管理應該使用Peter的LongPath庫來完成,因爲它特別處理路徑長度的.NET問題。

這將是一個在屁股疼痛,但這是值得一試。

+0

我已經把它移到根提到。 – iss42

+0

問題是有幾個node_modules在它們中嵌套了依賴關係,有時它們會變得重複,因爲它可能已經在上一級了。將所有的NPM平坦化並去除嵌套的依賴關係纔是明智之舉。這將工作。 –

+0

好的,謝謝,我不能改變倒票,除非答案是編輯。 – iss42

2
  1. 在發佈版本,您可以防止Visual Studio的掃描 這些文件/文件夾中的一個隱藏文件夾 設置文件夾屬性(剛剛成立它到node_modules)。參考: http://issues.umbraco.org/issue/U4-6219#comment=67-19103

  2. 可以排除由包括以下的CsProject文件XML節點 包裝過程中發佈的文件或文件夾。

<的PropertyGroup條件= 「 '$(配置)| $(平臺)' ==
'調試| AnyCPU'」>
...
< OutputPath>斌\ </OutputPath>
< NoWarn> 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 </NoWarn> < ExcludeFilesFromDeployment> File1.aspx; File2.aspx </ExcludeFilesFromDeployment> < ExcludeFoldersFromDeployment> Folder1中;文件夾2 < /的PropertyGroup>