实际上从发布中排除文件而不验证它

Tom*_*mer 7 msbuild publish visual-studio node.js node-modules

我正在尝试发布一个纯客户端项目 - 即普通的html/js/css文件,在开发期间由nodejs管理.Node创建一个非常深的路径(超过260个字符) - 在node_modules/...内部
虽然我已经完全排除了node_modules:

<ExcludeFoldersFromDeployment>test;node_modules</ExcludeFoldersFromDeployment>
Run Code Online (Sandbox Code Playgroud)

我尝试发布时仍会抛出异常:

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()
Run Code Online (Sandbox Code Playgroud)

我知道它特别是node_modules,因为手动删除它可以解决问题.
除此之外,排除工作正常('test'文件夹被排除在外).

如何防止这些文件被考虑用于发布?

小智 1

我通过全局安装一些(如果不是全部)依赖项解决了这个问题:

npm install -g package
Run Code Online (Sandbox Code Playgroud)

然后使用安装到项目中

npm install --link
Run Code Online (Sandbox Code Playgroud)

结果是,NPM 将创建全局安装的软件包的快捷方式,而不是复制它们,并且msbuild似乎不会尝试跟踪这些链接。