无法将节点项目发布到Azure – 文件名必须less于260个字符
我在Visual Studio 2013中使用NodejsTools,但可以将我的项目发布到Azure。 当我build立我的文件时,我得到以下错误:
C:\ Program Files(x86)\ MSBuild \ Microsoft \ VisualStudio \ v12.0 \ Node.js Tools \ Microsoft.NodejsTools.targets(115,5):error MSB4018:“AssignTargetPath”任务意外失败。 System.IO.PathTooLongException:指定的path,文件名或这两者太长。 完全限定的文件名必须less于260个字符,且目录名称必须less于248个字符。
任何关于如何解决这个问题的线索/让我的节点项目发布到Azure?
更新1:如果我将项目移动到我的Windows C:驱动器中的根文件夹,生成错误消失并且生成成功。 但是,如果我尝试发布,它会失败,并没有给出原因:
——开始发布:项目:MyProject,configuration:释放任何CPU ——自动连接string将Web.config转换为obj \ Release \ CSAutoParameterize \ transformed \ Web.config。 将所有文件复制到下面的包/发布的临时位置:obj \ Release \ Package \ PackageTmp。
==========构build:0成功,0失败,1最新,0跳过========== ==========发布:0成功,1失败,0跳过==========
我遇到了同样的问题。 在Visual Studio模板中创build的path确实太长,无法上传到Azure上。 path可能在您的“node_modules”文件夹中。
我解决了这个问题,如下所示:在项目文件夹中,我删除了文件夹“node_modules”,其中包含构build项目所需的所有模块。 您可以稍后添加这些模块,所以不用担心。
打开Visual Studio,重新加载解决scheme,然后在您的Azure帐户上再次发布您的项目。 Visual Studio现在可能不会返回任何错误,因为所有path都less于240个字符。
然后,在Azure门户上login,打开您的Web应用程序,然后单击“添加磁贴”并添加控制台磁贴。 打开控制台磁贴并运行命令“npm install”。 这个命令添加了项目中的所有依赖关系,因此将文件夹“node_modules”添加到项目所需的所有模块中。 您可以使用“Visual Studio Online Extension”查看您的项目并使用它们。
如果没有错误代码,则很难排除故障。
我build议你需要在node.js
项目文件中检查<PropertyGroup>
值,如<OutputPath>.</OutputPath>
等,以.njsproj
。 任何信息,请与我分享。
在我的testing中,我必须通过Azure Node.js应用程序模板创build一个nodejs应用程序,以便将其发布到Azure Web Apps。
您可以尝试使用Azure Node.js应用程序创build新的node.js应用程序,并检查是否可以将其发布到Azure Web App。 当成功将应用程序发布到Azure时,可以将代码复制到此项目中,然后尝试再次发布。
任何问题,请让我知道。
- MongoLab上的Node.js和MongoDB:每个插入上的“套接字closures”
- 无法使用繁琐的Azure数据库
- 在Azure上的Web Worker和网站之间共享node.js模块
- “实施我。 未知的标准input文件types!“与flickrapi错误
- 我在Node.JS中得到了一个SyntaxError,但我无法从日志消息中找出错误的来源
- Azure表存储只支持作为数据types的string?
- AngularJS强制Firefox / Safari下载文件,而不是在浏览器中打开
- 天青云服务节点js“不是有效的服务包”
- 首先请求在Windows Azure上使用MongoDB的node.js应用程序产生400个错误的请求