build立Windows Azure服务时path太长错误
我一直在试图将我的服务发布到Windows Azure上。 该服务由一个webRole组成,但是我添加了发布它的远程loginfunction并构build了它几次,现在突然它不会构build。 它给出的原因是
详情如下:
“错误56指定的path,文件名或两者都太长。完全限定的文件名必须less于260个字符,目录名称必须less于248个字符。C:\ Program Files(x86)\ MSBuild \ Microsoft \ Cloud Service \ 1.0 \ Visual Studio 10.0 \ Microsoft.CloudService.targets 202 5 FileSystemCreator“
我已经去了所有的论坛,我已经使用CSPack命令行打包服务是好的,但我很难configuration远程桌面连接的证书,我想利用这个function,因为我在onStart事件中创build一些网站,我想窥探IIS。 一些微软员工确实认为这是一个错误,并已承诺解决这个问题,请参阅后 。 我正在使用VS2010,我不知道如何解决这个错误。
任何人都可以请帮忙,或者指给我一个我可以得到任何帮助的地方。
我遇到了一个新的解决scheme相同的问题。
请注意,与Eugenio Pace的回复暗示的不同,只有在部署到Azure时(而不是在Azure计算模拟器中运行项目时)才会出现此错误。
尝试将以下行添加到Windows Azure Visual Studio项目文件(* .ccproj)的第一个属性组中:
<ServiceOutputDirectory>C:\Azure\</ServiceOutputDirectory>
尾随斜线(无论你select的path)似乎是必需的。 每次创build包时,该文件夹都会被删除。
此设置似乎将包的工作文件夹redirect到较短的基本path,防止path太长的错误。
相关信息请访问: http : //govada.blogspot.com/2011/12/windows-azure-package-build-error.html
用于存储临时开发结构的本地文件夹可能太长。 请参阅Windows Azure – 解决“完全限定后的path太长”错误消息 。
当将一个Node.js项目部署到Azure时,我也遇到了这个问题。
为了解决这个问题,我必须将我的“TEMP”和“TMP”用户环境variables更改为比其默认值更短的值。
在我的情况下,他们默认指向%USERPROFILE%\ AppData \ Local \ Temp,将它们更改为C:\ Temp解决了它。
确保你重新启动Windows之后。
更好的解决scheme可能是创build一个符号链接到您的项目文件夹。 这不需要移动文件或更改系统variables。 以pipe理员身份打开命令提示符并运行以下命令:
mklink /DC:\Dev C:\Users\danzo\Source\Workspaces
很明显,你可以把“C:\ Dev”改成任何你想要的,你需要把上面的更长的path改成你的soltions / projects文件夹的根目录。
当我尝试打包Azure的Umbraco项目(https://github.com/WindowsAzure-Accelerators/wa-accelerator-umbraco/wiki/Deployment)时,发生了同样的问题,我发现解决scheme是:复制并重命名长名称path和文件夹为“C:;\ someshortname”。
(解决scheme是由这个链接build议的)
我尝试了以上两种方法:
改变TEMP和TMP环境variables
– <ServiceOutputDirectory>
path
并没有工作。 就我而言,我不得不把整个项目移到一个更短的pathC:\并工作。 我正在使用W7和VS12。
在开发结构上运行云服务时,开发结构使用临时文件夹来存储多个文件,包括本地存储位置,caching二进制文件,configuration,诊断信息和caching编译的网站内容。
默认情况下,这个位置是:C:\ Users \\ AppData \ Local \ dftmp
相信微软的Jim Nakashima: https : //blogs.msdn.microsoft.com/jnak/2010/01/14/windows-azure-resolving-the-path-is-too-long-after-being-fully-合格错误消息/
为了更改临时文件夹,必须创build一个用户环境variables:
它被命名为_CSRUN_STATE_DIRECTORY
给它一个短命名目录的值,如:
c:\AzureTemp
不要忘记重新启动Visual Studio,以便再次读取环境variables
它修复了许多编译问题!