我一直在尝试将我的服务发布到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,我不知道如何修复这个错误。
任何人都可以帮忙,或者指点我可以得到任何帮助的地方。
答案 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 !