[英]MSBuild 16 is not publishing without visual studio installed
[英]Dependencies not installed in Visual Studio
我目前正在將ASP.Net RC1升級到ASP.Net Core RC2。 Visual Studio中的解決方案資源管理器通過子文件夾“npm - not installed”向我發出“Dependencies - not installed”的警告。
但是,似乎安裝了依賴項 - 我在項目目錄中運行'npm install'並且運行正常,沒有任何錯誤,只是一些警告。 它將依賴項文件夾添加到名為node-modules的父文件夾中,我可以在Windows資源管理器中清楚地看到它。 node-modules文件夾包含angular2,bootstrap,copy-webpack-plugin等文件夾。
有誰知道為什么Visual Studio告訴我他們沒有安裝? 我還嘗試從Package Manager Console運行npm install,並在這些文件夾上執行“右鍵單擊 - >還原包”,在解決方案資源管理器中給出警告。
這是我的package.json文件:
{
"name": "EmptyWebApp",
"version": "0.0.0",
"dependencies": {
"angular2": "2.0.0-beta.13",
"bootstrap": "^3.3.5",
"es6-promise": "^3.0.2",
"es6-shim": "^0.35.0",
"reflect-metadata": "0.1.2",
"jquery": "^2.1.4",
"less": "^2.5.3",
"lodash": "^3.10.1",
"rxjs": "5.0.0-beta.2",
"systemjs": "0.19.22",
"ts-loader": "^0.7.2",
"zone.js": "0.6.6"
},
"devDependencies": {
"del": "^2.0.2",
"event-stream": "^3.3.1",
"copy-webpack-plugin": "^0.3.3",
"css-loader": "^0.23.0",
"exports-loader": "0.6.2",
"expose-loader": "^0.7.1",
"file-loader": "^0.8.4",
"gulp": "^3.9.0",
"html-webpack-plugin": "^1.7.0",
"http-server": "^0.8.5",
"imports-loader": "^0.6.4",
"istanbul-instrumenter-loader": "^0.1.3",
"json-loader": "^0.5.3",
"nodemon": "^1.8.1",
"phantomjs": "^1.9.18",
"phantomjs-polyfill": "0.0.1",
"protractor": "^3.0.0",
"raw-loader": "0.5.1",
"reflect-metadata": "0.1.2",
"remap-istanbul": "^0.5.1",
"rimraf": "^2.4.4",
"style-loader": "^0.13.0",
"ts-helper": "0.0.1",
"ts-loader": "^0.7.2",
"tsconfig-lint": "^0.4.3",
"tslint": "^3.2.0",
"tslint-loader": "^2.1.0",
"typedoc": "^0.3.12",
"typescript": "1.8.9",
"typings": "^0.6.1",
"url-loader": "^0.5.6",
"webpack": "^1.12.9",
"webpack-dev-server": "^1.12.1",
"webpack-md5-hash": "0.0.4"
},
"scripts": {
"tsc": "tsc -p . -w",
"start": "nodemon --ignore htm,html --ext cs,js --exec \"dnx web\" -V",
"static": "nodemon --watch ./client --ext html,css --exec \"gulp deploy-client\" -V",
"pre-build": "gulp deploy-client",
"webpack": "webpack",
"webpack-watch": "webpack --watch",
"clean": "gulp cleanwww",
"build": "npm run pre-build && npm run webpack",
"dnx": "dnx web"
}
}
在使用Empty ASP.NET Core Template
創建ASP.NET Core Web Application (.NET Framework 4.5.2)
時,這仍然是Visual Studio Community 2015,Update 3版本中的一個問題。 使用ASP.NET Core Web應用程序模板創建項目時,它似乎正常運行。
正如操作中提到的那樣,由於安裝了依賴項,因此該消息具有誤導性。 Visual Studio似乎只是誤報了npm和依賴項沒有安裝。 臨時修復是覆蓋Visual Studio正在尋找node.js的位置,這將刪除visual studio中not installed
消息。
在Visual Studio中,轉到“ Tools > Options > Projects and Solutions > External Web Tools
然后添加node.js安裝的路徑。 默認位於C:\\Program Files\\nodejs\\
或C:\\Program Files (x86)\\nodejs\\
將此新行移至頂部或至少高於$(VSINSTALLDIR)\\ Web \\ External行。
恢復您的包,錯誤消息應該消失。
我認為這是在asp github上報道的RC2的已知問題
https://github.com/aspnet/Tooling/issues/479
我認為功能應該可行,但消息是錯誤的,所以我們可能需要等到他們解決問題。
這似乎是由於NPM對無法安裝的組件發出警告,例如OSX組件(如果您在Windows上)。 VS將其解釋為失敗,而實際上並非如此。 更多細節在這里。
我遇到了同樣的問題,並通過將C:\\Program Files\\Nodejs
到我的外部Web工具路徑而遵循當前最高投票答案沒有做任何事情 。 即使改變路徑的順序也無濟於事。
>npm - v
4.2.0
>node - v
v6.10.0
從技術上講,您可以在visual studio中擴展依賴關系樹以最終找到問題,但是,更容易運行npm list
並找到問題子項。
因為fsevents
是罪魁禍首,它是一個可選的依賴項(在Windows體系結構上使用visual studio運行節點時不使用它),我將具有fsevents的模塊定位為可選依賴項。
對我來說它是ckokidar
模塊,但它位於兩個地方。
MYPROJECT \\ node_modules \\ chokidar
還有
MYPROJECT \\ node_modules \\瀏覽器同步\\ node_modules \\ chokidar
我懷疑你是否有gulp-watch作為依賴,它也可能存在。
所以我做的是每個文件夾,我打開了project.json
文件並刪除了其中的任何fsevents軌道。
"dependencies": {
....
"async-each": "^1.0.0", <-- also remember to remove the trailing ',' comma for the end
"fsevents": "^1.0.0" <-- remove this
}
和
"keywords": [
...
"file", <-- remove comma
"fsevents" <-- remove
],
並完全刪除它
"optionalDependencies": {
"fsevents": "^1.0.0"
},
不要在任何文件中留下任何尾隨逗號,否則你將從npm收到錯誤。
最后,右鍵單擊Dependencies上的Visual Studio並運行Restore Packages
。 你現在應該免費警告! 請享用。
我從package.json文件中刪除了每個項目,直到錯誤停止出現。 在我的情況下,錯誤是由
“grunt-ts”:“5.5.1”
只需將node-modules文件夾中的node-modules文件夾復制並粘貼到visual studio,項目根文件夾,然后右鍵單擊並恢復VS中的軟件包即可。 那就行了!
我遵循大衛玻璃的建議,雖然看起來我仍然有問題。 我更新了我的package.json文件,以便devDependencies與依賴項匹配,然后警告就消失了。
項目類型:ASP.NET Core(.NET)
如果您的腳本依賴項無法安裝,也會發生這種情況。 VS Output窗口將顯示相應的錯誤。
在我的情況下,這是jqueryui-amd:
remote:找不到存儲庫。 致命:未找到存儲庫' https://github.com/jrburke/jqueryui-amd.git/ '
刪除失敗的依賴關系,右鍵單擊解決方案基本路徑中的Dependencies“folder”,然后選擇
Restore packages
我的問題是阻止所有其他軟件包加載的軟件包之一,這是查看所有軟件包是否可以啟動命令行界面“CMD”並導航到項目的最佳方法 - >類型:
npm install
並且您將看到所有數據包是否都沒有問題地通過安裝。
包裹我遇到了問題
Webpack“Webpack”:“^ 1:12:14”
我不得不使用Package Installer工具卸載它。 只需右鍵單擊並卸載包。 NodeJS依賴關系錯誤之后立即消失。
通過以下方式從CLI重新安裝:
npm install packagename
希望有所幫助:-)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.