构建Windows Azure服务时路径太长错误

时间:2011-04-21 03:57:52

标签: windows azure

我一直在尝试将我的服务发布到windows azure。该服务由一个webRole组成,但是我已经添加了远程登录功能,并将其构建了几次,现在突然间它不会构建。它给出的原因是

详情如下:
“错误56指定的路径,文件名或两者都太长。完全限定的文件名必须少于260个字符,目录名称必须少于248个字符.C:\ Program Files(x86) \ MSBuild \ Microsoft \ Cloud Service \ 1.0 \ Visual Studio 10.0 \ Microsoft.CloudService.targets 202 5 FileSystemCreator“

我已经上了所有的论坛,我已经使用CSPack命令行打包服务,这很好,但是我很难配置远程桌面连接的证书,我想利用这个功能因为我在onStart活动中创建了一些网站,我想窥探IIS。一些微软员工确实同意这是一个错误,并承诺修复此问题,请参阅post。我正在使用VS2010,我不知道如何修复这个错误。

任何人都可以帮忙,或者指点我可以得到任何帮助的地方。

7 个答案:

答案 0 :(得分:67)

我遇到了与新解决方案相同的问题。

请注意,与Eugenio Pace的响应建议不同,错误仅在部署到Azure时发生(而不是在Azure计算模拟器中运行项目时)。

尝试将以下行添加到Windows Azure Visual Studio项目文件(* .ccproj)的第一个属性组中:

<ServiceOutputDirectory>C:\Azure\</ServiceOutputDirectory>

似乎需要尾部斜杠(对于您选择的任何路径)。每次创建包时,都会删除此文件夹。

此设置似乎将程序包的工作文件夹重定向到较短的基本路径,从而防止路径过长错误。

信用证转到:http://govada.blogspot.com/2011/12/windows-azure-package-build-error.html

答案 1 :(得分:8)

用于存储临时开发结构的本地文件夹可能太长。请参阅Windows Azure - Resolving "The Path is too long after being fully qualified" Error Message

答案 2 :(得分:4)

在将Node.js项目部署到Azure时,我遇到了这个问题。

要解决此问题,我必须将“TEMP”和“TMP”用户环境变量更改为短于其默认值的值。

在我的情况下,他们默认指向%USERPROFILE%\ AppData \ Local \ Temp,将它们更改为C:\ Temp解决了它。

确保在以后重新启动Windows。

答案 3 :(得分:2)

更好的解决方案可能是创建项目文件夹的符号链接。这不需要移动文件或更改系统变量。以管理员身份打开命令提示符并运行:

mklink /D C:\Dev C:\Users\danzo\Source\Workspaces

显然你可以改变&#34; C:\ Dev&#34;无论你想要什么,你都需要将上面的较长路径更改为soltions / projects文件夹的根目录。

答案 4 :(得分:0)

当我尝试为Azure打包Umbraco项目时遇到同样的问题(https://github.com/WindowsAzure-Accelerators/wa-accelerator-umbraco/wiki/Deployment),我发现解决方案是:复制和将长名称路径和文件夹重命名为“C:\ someshortname”。

(解决方案由此提出:link

答案 5 :(得分:0)

我尝试了以上两种方法:

- 改变TEMP和TMP环境变量

- <ServiceOutputDirectory>路径

并没有奏效。 在我的情况下,我不得不将整个项目移动到更短的路径C:\并且工作。 我正在使用W7和VS12。

答案 6 :(得分:0)

When you run a cloud service on the development fabric, the development fabric uses a temporary folder to store a number of files including local storage locations, cached binaries, configuration, diagnostics information and cached compiled web site content.

By default this location is: C:\Users\\AppData\Local\dftmp

Credit goes to Jim Nakashima of Microsoft : https://blogs.msdn.microsoft.com/jnak/2010/01/14/windows-azure-resolving-the-path-is-too-long-after-being-fully-qualified-error-message/

In order to change the temporary folder, a user environment variable has to be created :

It is named NaiveDateTime

Give it a value of short named directory like :

" UTC"

Don't forget to restart Visual Studio in order to have the environmennt variables to be read again

It fixed many compilations problem !