无法将节点项目发布到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时,可以将代码复制到此项目中,然后尝试再次发布。

任何问题,请让我知道。