无法将节点项目发布到 Azure - 文件名必须少于 260 个字符
Posted
技术标签:
【中文标题】无法将节点项目发布到 Azure - 文件名必须少于 260 个字符【英文标题】:Can't Publish Node Project to Azure - File name must be less than 260 Characters 【发布时间】:2016-02-03 19:32:18 【问题描述】:我在 Visual Studio 2013 中使用 NodejsTools,但可以将我的项目发布到 Azure。当我构建我的文件时,我收到以下错误:
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\Node.js Tools\Microsoft.NodejsTools.targets(115,5):错误 MSB4018: “AssignTargetPath”任务意外失败。 System.IO.PathTooLongException:指定的路径、文件名或两者 太长了。全限定文件名必须小于 260 字符,并且目录名称必须少于 248 个字符。
关于如何解决这个问题/让我的节点项目发布到 Azure 的任何线索?
更新 1:如果我将项目移动到我的 Windows C: 驱动器中的根文件夹,构建错误就会消失并且构建成功。但是,如果我尝试发布,它会失败并且没有给出原因:
----- 发布开始:项目:MyProject,配置:释放任何 CPU ------ Auto ConnectionString 将 Web.config 转换为 obj\Release\CSAutoParameterize\transformed\Web.config。全部复制 文件到下面的临时位置以进行打包/发布: obj\Release\Package\PackageTmp.
========== 构建:0 成功,0 失败,1 最新,0 跳过 ========== ========== 发布:0 成功,1 失败,0 跳过 ==========
【问题讨论】:
【参考方案1】:如果没有错误代码,则很难进行故障排除。
我建议您需要检查以.njsproj
结尾的node.js
项目文件中的<PropertyGroup>
值,例如<OutputPath>.</OutputPath>
等。任何信息,请与我分享。
在我的测试中,我必须通过 Azure Node.js 应用程序模板创建一个 nodejs 应用程序,以便我可以将其发布到 Azure Web Apps。
您可以尝试使用 Azure Node.js 应用程序创建一个新的 node.js 应用程序,并检查它是否可以发布到 Azure Web 应用程序。成功将应用发布到 Azure 后,您可以将代码复制到此项目中,然后再次尝试发布。
如有任何疑问,请告诉我。
【讨论】:
谢谢 Gary,我需要稍后再试一下,因为我目前正在使用 FTP 连接到 Azure。一旦我测试,我会回帖。【参考方案2】:我遇到了同样的问题。在 Visual Studio 模板中创建的路径确实太长,无法上传到 Azure。路径可能在您的“node_modules”文件夹中。
我解决了这个问题如下: 在项目文件夹中,我删除了文件夹“node_modules”,其中包含构建项目所需的所有模块。您可以稍后添加这些模块,所以不用担心。
打开 Visual Studio,重新加载解决方案并在您的 Azure 帐户上再次发布您的项目。 Visual Studio 现在可能不会返回任何错误,因为所有路径都短于 240 个字符。
然后,登录 Azure 门户,打开您的 Web 应用并单击“添加磁贴”并添加控制台磁贴。打开控制台磁贴并运行命令“npm install”。此命令添加项目中的所有依赖项,因此添加文件夹“node_modules”以及项目所需的所有模块。您可以使用“Visual Studio Online Extension”查看您的项目并对其进行处理。
【讨论】:
以上是关于无法将节点项目发布到 Azure - 文件名必须少于 260 个字符的主要内容,如果未能解决你的问题,请参考以下文章
将节点应用程序部署到 Azure 应用程序服务时 .bin 文件夹中缺少文件