我正在尝试发布一个纯客户端项目 - 即 - 纯 html/js/css 文件,在开发期间由 nodejs 管理。
Node 创建了一个非常深的路径(超过 260 个字符)- 在 node_modules/...
虽然我已经完全排除了node_modules:
<ExcludeFoldersFromDeployment>test;node_modules</ExcludeFoldersFromDeployment>
当我尝试发布时它仍然抛出异常:
Error 1 The "CollectFilesinFolder" task failed unexpectedly.
System.IO.PathTooLongException: The specified path, file name, or both are too long. The fully qualified
file name must be less than 260 characters, and the directory name must be less than 248 characters.
at System.IO.PathHelper.GetFullPathName()
我知道它特别是 node_modules,因为手动删除它可以解决问题。
除此之外,排除工作正常('test' 文件夹被排除)。
如何避免这些文件被考虑发布?
最佳答案
我通过全局安装一些(如果不是全部)依赖项解决了这个问题:
npm install -g package
然后使用
安装到项目中npm install --link
结果是 NPM 会为全局安装的包创建快捷方式而不是复制它们,而且 msbuild 似乎不会尝试访问这些链接。
关于node.js - 实际上在不验证的情况下从发布中排除文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25237823/