[TIMOB-18285] Windows: Build - Cannot build for Windows emulator or device when path exceeds 260 characters
| GitHub Issue | n/a |
| Type | Bug |
| Priority | High |
| Status | Closed |
| Resolution | Fixed |
| Resolution Date | 2015-01-07T22:27:39.000+0000 |
| Affected Version/s | Release 4.0.0 |
| Fix Version/s | Release 4.1.0 |
| Components | CLI, Windows |
| Labels | qe-3.5.0 |
| Reporter | Wilson Luu |
| Assignee | Christopher Williams |
| Created | 2014-12-23T22:11:07.000+0000 |
| Updated | 2015-10-07T19:11:44.000+0000 |
Description
*Details:* Cannot build to Windows emulator or device from Windows OS 8.1.
*Note:* This issue was only reproducible on *one* particular QE Windows machine. The other QE Windows machine (not reproducing this issue) had the same setup except it was running Visual Studio Community 2013 Update 4.
*Steps to reproduce:*
0. Follow setup steps from "Windows Preview Announcement" email
1. Open cmd prompt
2. Create a project via CLI
3. Build to emulator ti build -p windows -T wp-emulator *or* device: ti build -p windows -T wp-device
4. Input your publisher guid (if prompt is enabled)
5. If installing to emulator, select an emulator
*Acutal:* Build will fail for both emulator and device; see emulator_install.txt and device_install.txt attachments.
*Expected:* Should be able to build to both Windows emulator and device.
Attachments
I am also running into this issue. The build fails when built from studio 3.4.1.201410281743 Studio Console Log:
Environment: Ti Studio: 3.4.1.201410281743 Ti SDK : 3.6.0.v20141223082526 OS : Microsoft Windows 8.1 Pro VS Studio : Community 2013 update 4 Device: Nokia 1020 (8.1) Attaching my CMakeOutput.log & CMakeError.log file for reference[WARN] : CMake Error at C:/ProgramData/Titanium/mobilesdk/win32/3.6.0.v20141223082526/windows/cli/vendor/cmake/share/cmake-3.1/Modules/CMakeTestCCompiler.cmake:61 (message): The C compiler "C:/Program Files (x86)/Microsoft Visual Studio 12.0/VC/bin/x86_arm/cl.exe" is not able to compile a simple test program. It fails with the following output: Change Dir: C:/Users/QE-Tester/Documents/Appcelerator_Studio_Workspace/lokiwin/build/windows/WindowsPhone.ARM/CMakeFiles/CMakeTmp Run Build Command:"C:/Program Files (x86)/MSBuild/12.0/bin/MSBuild.exe" "cmTryCompileExec1289290862.vcxproj" "/p:Configuration=Debug" "/p:VisualStudioVersion=12.0" Microsoft (R) Build Engine version 12.0.31101.0 [Microsoft .NET Framework, version 4.0.30319.34014] Copyright (C) Microsoft Corporation. All rights reserved. Build started 12/23/2014 2:37:51 PM. Project "C:\Users\QE-Tester\Documents\Appcelerator_Studio_Workspace\lokiwin\build\windows\WindowsPhone.ARM\CMakeFiles\CMakeTmp\cmTryCompileExec1289290862.vcxproj" on node 1 (default targets). PrepareForBuild: Creating directory "cmTryCompileExec1289290862.dir\Debug\". Creating directory "C:\Users\QE-Tester\Documents\Appcelerator_Studio_Workspace\lokiwin\build\windows\WindowsPhone.ARM\CMakeFiles\CMakeTmp\Debug\". Creating directory "cmTryCompileExec1289290862.dir\Debug\cmTryCom.F54EB0FF.tlog\". Creating directory "Generated Files\". GetInstalledSDKLocations: Searching for SDKs targeting "WindowsPhoneApp, 8.1". ResolveSDKReferences: Reading SDK manifest file "C:\Program Files (x86)\Microsoft SDKs\WindowsPhoneApp\v8.1\ExtensionSDKs\Microsoft.VCLibs\12.0\SDKManifest.xml". Targeted configuration and architecture "Debug|ARM" Could not find "FrameworkIdentity" attribute "FrameworkIdentity-Debug-ARM" in the SDK manifest. Found "FrameworkIdentity" attribute "Name = Microsoft.VCLibs.120.00.Phone.Debug, MinVersion = 12.0.30113.0" in the SDK manifest. Found "APPX" location attribute "AppX-Debug-x86=.\AppX\Debug\x86\Microsoft.VCLibs.x86.Debug.12.00.Phone.appx" in the SDK manifest. Found "APPX" location attribute "AppX-Debug-ARM=.\AppX\Debug\ARM\Microsoft.VCLibs.ARM.Debug.12.00.Phone.appx" in the SDK manifest. ExpandSDKReferences: Enumerating SDK Reference "Microsoft.VCLibs, Version=12.0" from "C:\Program Files (x86)\Microsoft SDKs\WindowsPhoneApp\v8.1\ExtensionSDKs\Microsoft.VCLibs\12.0\". Adding reference "References\CommonConfiguration\neutral\platform.winmd". InitializeBuildStatus: Creating "cmTryCompileExec1289290862.dir\Debug\cmTryCom.F54EB0FF.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified. ClCompile: C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\x86_arm\CL.exe /c /I"C:\Users\QE-Tester\Documents\Appcelerator_Studio_Workspace\lokiwin\build\windows\WindowsPhone.ARM\CMakeFiles\CMakeTmp\\" /I"Generated Files\\" /IcmTryCompileExec1289290862.dir\Debug\ /Zi /W3 /WX- /sdl /MP /Od /Ob0 /Oi /Oy- /D WIN32 /D _WINDOWS /D UNICODE /D _UNICODE /D _DEBUG /D "CMAKE_INTDIR=\"Debug\"" /D PSAPI_VERSION=2 /D WINAPI_FAMILY=WINAPI_FAMILY_PHONE_APP /D _UITHREADCTXT_SUPPORT=0 /D _UNICODE /D UNICODE /Gm- /MDd /GS /Gy /fp:precise /Zc:wchar_t /Zc:forScope /Fo"cmTryCompileExec1289290862.dir\Debug\\" /Fd"cmTryCompileExec1289290862.dir\Debug\vc120.pdb" /Gd /TC /analyze- /errorReport:queue "C:\Users\QE-Tester\Documents\Appcelerator_Studio_Workspace\lokiwin\build\windows\WindowsPhone.ARM\CMakeFiles\CMakeTmp\testCCompiler.c" Microsoft (R) C/C++ Optimizing Compiler Version 18.00.31101 for ARM Copyright (C) Microsoft Corporation. All rights reserved. testCCompiler.c cl /c /I"C:\Users\QE-Tester\Documents\Appcelerator_Studio_Workspace\lokiwin\build\windows\WindowsPhone.ARM\CMakeFiles\CMakeTmp\\" /I"Generated Files\\" /IcmTryCompileExec1289290862.dir\Debug\ /Zi /W3 /WX- /sdl /MP /Od /Ob0 /Oi /Oy- /D WIN32 /D _WINDOWS /D UNICODE /D _UNICODE /D _DEBUG /D "CMAKE_INTDIR=\"Debug\"" /D PSAPI_VERSION=2 /D WINAPI_FAMILY=WINAPI_FAMILY_PHONE_APP /D _UITHREADCTXT_SUPPORT=0 /D _UNICODE /D UNICODE /Gm- /MDd /GS /Gy /fp:precise /Zc:wchar_t /Zc:forScope /Fo"cmTryCompileExec1289290862.dir\Debug\\" /Fd"cmTryCompileExec1289290862.dir\Debug\vc120.pdb" /Gd /TC /analyze- /errorReport:queue "C:\Users\QE-Tester\Documents\Appcelerator_Studio_Workspace\lokiwin\build\windows\WindowsPhone.ARM\CMakeFiles\CMakeTmp\testCCompiler.c" Link: C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\x86_arm\link.exe /ERRORREPORT:QUEUE /OUT:"C:\Users\QE-Tester\Documents\Appcelerator_Studio_Workspace\lokiwin\build\windows\WindowsPhone.ARM\CMakeFiles\CMakeTmp\Debug\cmTryCompileExec1289290862.exe" /INCREMENTAL /NOLOGO WindowsPhoneCore.lib RuntimeObject.lib PhoneAppModelHost.lib /NODEFAULTLIB:kernel32.lib /NODEFAULTLIB:ole32.lib /MANIFEST /ManifestFile:"cmTryCompileExec1289290862.dir\Debug\cmTryCompileExec1289290862.exe.intermediate.manifest" /MANIFESTUAC:NO /DEBUG /PDB:"C:/Users/QE-Tester/Documents/Appcelerator_Studio_Workspace/lokiwin/build/windows/WindowsPhone.ARM/CMakeFiles/CMakeTmp/Debug/cmTryCompileExec1289290862.pdb" /SUBSYSTEM:CONSOLE /OPT:REF /OPT:ICF /TLBID:1 /APPCONTAINER /WINMD:NO /WINMDFILE:"C:\Users\QE-Tester\Documents\Appcelerator_Studio_Workspace\lokiwin\build\windows\WindowsPhone.ARM\CMakeFiles\CMakeTmp\Debug\cmTryCompileExec1289290862.winmd" /DYNAMICBASE /NXCOMPAT /IMPLIB:"C:/Users/QE-Tester/Documents/Appcelerator_Studio_Workspace/lokiwin/build/windows/WindowsPhone.ARM/CMakeFiles/CMakeTmp/Debug/cmTryCompileExec1289290862.lib" /MACHINE:ARM /machine:ARM /debug cmTryCompileExec1289290862.dir\Debug\testCCompiler.obj LINK : warning LNK4075: ignoring '/INCREMENTAL' due to '/OPT:ICF' specification [C:\Users\QE-Tester\Documents\Appcelerator_Studio_Workspace\lokiwin\build\windows\WindowsPhone.ARM\CMakeFiles\CMakeTmp\cmTryCompileExec1289290862.vcxproj] cmTryCompileExec1289290862.vcxproj -> C:\Users\QE-Tester\Documents\Appcelerator_Studio_Workspace\lokiwin\build\windows\WindowsPhone.ARM\CMakeFiles\CMakeTmp\Debug\cmTryCompileExec1289290862.exe Manifest: C:\Program Files (x86)\Windows Kits\8.1\bin\x86\mt.exe /nologo /verbose /out:"C:\Users\QE-Tester\Documents\Appcelerator_Studio_Workspace\lokiwin\build\windows\WindowsPhone.ARM\CMakeFiles\CMakeTmp\Debug\cmTryCompileExec1289290862.manifest" /manifest cmTryCompileExec1289290862.dir\Debug\cmTryCompileExec1289290862.exe.intermediate.manifest ComputeProcessXamlFiles: (Out) ProcessedXamlFiles == CustomOutputGroupForPackaging: (Out) Project='cmTryCompileExec1289290862' ProcessedXamlFiles == (Out) XamlPackagingRootFolder == C:\Users\QE-Tester\Documents\Appcelerator_Studio_Workspace\lokiwin\build\windows\WindowsPhone.ARM\CMakeFiles\CMakeTmp\Debug\\ (Out) ProcessedXamlFilesFullPath == (Out) Project='cmTryCompileExec1289290862' CustomOutputGroupForPackagingOutput == GetPackagingOutputs: cmTryCompileExec1289290862 : cmTryCompileExec1289290862.ProjectPriFile : resources.pri -> resources.pri cmTryCompileExec1289290862 : cmTryCompileExec1289290862.BuiltProjectOutputGroup : C:\Users\QE-Tester\Documents\Appcelerator_Studio_Workspace\lokiwin\build\windows\WindowsPhone.ARM\CMakeFiles\CMakeTmp\Debug\cmTryCompileExec1289290862.exe -> cmTryCompileExec1289290862.exe cmTryCompileExec1289290862 : cmTryCompileExec1289290862.DebugSymbolsProjectOutputGroup : C:\Users\QE-Tester\Documents\Appcelerator_Studio_Workspace\lokiwin\build\windows\WindowsPhone.ARM\CMakeFiles\CMakeTmp\Debug\cmTryCompileExec1289290862.pdb -> cmTryCompileExec1289290862.pdb cmTryCompileExec1289290862 : cmTryCompileExec1289290862.ContentFilesProjectOutputGroup : C:\Users\QE-Tester\Documents\Appcelerator_Studio_Workspace\lokiwin\build\windows\WindowsPhone.ARM\CMakeFiles\CMakeTmp\cmTryCompileExec1289290862.dir\SmallLogo.png -> cmTryCompileExec1289290862.dir\SmallLogo.png cmTryCompileExec1289290862 : cmTryCompileExec1289290862.ContentFilesProjectOutputGroup : C:\Users\QE-Tester\Documents\Appcelerator_Studio_Workspace\lokiwin\build\windows\WindowsPhone.ARM\CMakeFiles\CMakeTmp\cmTryCompileExec1289290862.dir\Logo.png -> cmTryCompileExec1289290862.dir\Logo.png cmTryCompileExec1289290862 : cmTryCompileExec1289290862.ContentFilesProjectOutputGroup : C:\Users\QE-Tester\Documents\Appcelerator_Studio_Workspace\lokiwin\build\windows\WindowsPhone.ARM\CMakeFiles\CMakeTmp\cmTryCompileExec1289290862.dir\StoreLogo.png -> cmTryCompileExec1289290862.dir\StoreLogo.png cmTryCompileExec1289290862 : cmTryCompileExec1289290862.ContentFilesProjectOutputGroup : C:\Users\QE-Tester\Documents\Appcelerator_Studio_Workspace\lokiwin\build\windows\WindowsPhone.ARM\CMakeFiles\CMakeTmp\cmTryCompileExec1289290862.dir\SplashScreen.png -> cmTryCompileExec1289290862.dir\SplashScreen.png cmTryCompileExec1289290862 : cmTryCompileExec1289290862.GetResolvedSDKReferences : C:\Program Files (x86)\Microsoft SDKs\WindowsPhoneApp\v8.1\ExtensionSDKs\Microsoft.VCLibs\12.0\ -> cmTryCompileExec1289290862 : cmTryCompileExec1289290862._GetProjectArchitecture : arm -> C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\AppxPackage\Microsoft.AppXPackage.Targets(2893,9): warning APPX1901: The DefaultLanguage property is either missing from the project file or does not have a value. The fallback language is set to the Visual Studio language: en-US. [C:\Users\QE-Tester\Documents\Appcelerator_Studio_Workspace\lokiwin\build\windows\WindowsPhone.ARM\CMakeFiles\CMakeTmp\cmTryCompileExec1289290862.vcxproj] _GenerateProjectPriConfigurationFiles: cmTryCompileExec1289290862 -> cmTryCompileExec1289290862.dir\Debug\priconfig.xml cmTryCompileExec1289290862 -> cmTryCompileExec1289290862.dir\Debug\layout.resfiles cmTryCompileExec1289290862 -> cmTryCompileExec1289290862.dir\Debug\resources.resfiles cmTryCompileExec1289290862 -> cmTryCompileExec1289290862.dir\Debug\pri.resfiles _GenerateProjectPriFileCore: C:\Program Files (x86)\Windows Kits\8.1\\bin\x86\MakePri.exe New -ProjectRoot C:\Users\QE-Tester\Documents\Appcelerator_Studio_Workspace\lokiwin\build\windows\WindowsPhone.ARM\CMakeFiles\CMakeTmp\ -ConfigXml cmTryCompileExec1289290862.dir\Debug\priconfig.xml -OutputFile resources.pri -ExtensionDll "C:\Program Files (x86)\Windows Phone Kits\8.1\\bin\x86\MrmEnvironmentExtDl.dll" -IndexName F54EB0FF-6BFC-47AC-B8E7-F7907965FA58 -Verbose -Overwrite cmTryCompileExec1289290862 -> resources.pri _GenerateAppxPackageFile: C:\Program Files (x86)\Windows Kits\8.1\\bin\x86\MakeAppx.exe pack /l /h sha256 /f cmTryCompileExec1289290862.dir\Debug\package.map.txt /o /p C:\Users\QE-Tester\Documents\Appcelerator_Studio_Workspace\lokiwin\build\windows\WindowsPhone.ARM\CMakeFiles\CMakeTmp\AppPackages\cmTryCompileExec1289290862\cmTryCompileExec1289290862_1.0.0.0_ARM_Debug_Test\cmTryCompileExec1289290862_1.0.0.0_ARM_Debug.appx cmTryCompileExec1289290862 -> C:\Users\QE-Tester\Documents\Appcelerator_Studio_Workspace\lokiwin\build\windows\WindowsPhone.ARM\CMakeFiles\CMakeTmp\AppPackages\cmTryCompileExec1289290862\cmTryCompileExec1289290862_1.0.0.0_ARM_Debug_Test\cmTryCompileExec1289290862_1.0.0.0_ARM_Debug.appx _GenerateAppxSymbolPackage: C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\AppxPackage\PDBCopy.exe C:\Users\QE-Tester\Documents\Appcelerator_Studio_Workspace\lokiwin\build\windows\WindowsPhone.ARM\CMakeFiles\CMakeTmp\Debug\cmTryCompileExec1289290862.pdb cmTryCompileExec1289290862.dir\Debug\Stripped\cmTryCompileExec1289290862.pdb -p Adding file 'cmTryCompileExec1289290862.pdb'. cmTryCompileExec1289290862 -> C:\Users\QE-Tester\Documents\Appcelerator_Studio_Workspace\lokiwin\build\windows\WindowsPhone.ARM\CMakeFiles\CMakeTmp\AppPackages\cmTryCompileExec1289290862\cmTryCompileExec1289290862_1.0.0.0_ARM_Debug_Test\cmTryCompileExec1289290862_1.0.0.0_ARM_Debug.appxsym cmTryCompileExec1289290862 -> C:\Users\QE-Tester\Documents\Appcelerator_Studio_Workspace\lokiwin\build\windows\WindowsPhone.ARM\CMakeFiles\CMakeTmp\AppPackages\cmTryCompileExec1289290862\cmTryCompileExec1289290862_1.0.0.0_ARM_Debug_Test\cmTryCompileExec1289290862_1.0.0.0_ARM_Debug.appxsym _CreateAppStoreContainer: Adding file 'cmTryCompileExec1289290862_1.0.0.0_ARM_Debug.appx'. Adding file 'cmTryCompileExec1289290862_1.0.0.0_ARM_Debug.appxsym'. cmTryCompileExec1289290862 -> C:\Users\QE-Tester\Documents\Appcelerator_Studio_Workspace\lokiwin\build\windows\WindowsPhone.ARM\CMakeFiles\CMakeTmp\AppPackages\cmTryCompileExec1289290862\cmTryCompileExec1289290862_1.0.0.0_ARM_Debug.appxupload Your package has been successfully created. C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\AppxPackage\Microsoft.AppXPackage.Targets(1837,9): error MSB4023: Cannot evaluate the item metadata "%(FullPath)". The item metadata "%(FullPath)" cannot be applied to the path "C:\Users\QE-Tester\Documents\Appcelerator_Studio_Workspace\lokiwin\build\windows\WindowsPhone.ARM\CMakeFiles\CMakeTmp\AppPackages\cmTryCompileExec1289290862\cmTryCompileExec1289290862_1.0.0.0_ARM_Debug_Test\Dependencies\ARM\Microsoft.VCLibs.ARM.Debug.12.00.Phone.appx". C:\Users\QE-Tester\Documents\Appcelerator_Studio_Workspace\lokiwin\build\windows\WindowsPhone.ARM\CMakeFiles\CMakeTmp\AppPackages\cmTryCompileExec1289290862\cmTryCompileExec1289290862_1.0.0.0_ARM_Debug_Test\Dependencies\ARM\Microsoft.VCLibs.ARM.Debug.12.00.Phone.appx [C:\Users\QE-Tester\Documents\Appcelerator_Studio_Workspace\lokiwin\build\windows\WindowsPhone.ARM\CMakeFiles\CMakeTmp\cmTryCompileExec1289290862.vcxproj] Done Building Project "C:\Users\QE-Tester\Documents\Appcelerator_Studio_Workspace\lokiwin\build\windows\WindowsPhone.ARM\CMakeFiles\CMakeTmp\cmTryCompileExec1289290862.vcxproj" (default targets) -- FAILED. Build FAILED. "C:\Users\QE-Tester\Documents\Appcelerator_Studio_Workspace\lokiwin\build\windows\WindowsPhone.ARM\CMakeFiles\CMakeTmp\cmTryCompileExec1289290862.vcxproj" (default target) (1) -> (Link target) -> LINK : warning LNK4075: ignoring '/INCREMENTAL' due to '/OPT:ICF' specification [C:\Users\QE-Tester\Documents\Appcelerator_Studio_Workspace\lokiwin\build\windows\WindowsPhone.ARM\CMakeFiles\CMakeTmp\cmTryCompileExec1289290862.vcxproj] "C:\Users\QE-Tester\Documents\Appcelerator_Studio_Workspace\lokiwin\build\windows\WindowsPhone.ARM\CMakeFiles\CMakeTmp\cmTryCompileExec1289290862.vcxproj" (default target) (1) -> (_GetDefaultResourceLanguage target) -> C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\AppxPackage\Microsoft.AppXPackage.Targets(2893,9): warning APPX1901: The DefaultLanguage property is either missing from the project file or does not have a value. The fallback language is set to the Visual Studio language: en-US. [C:\Users\QE-Tester\Documents\Appcelerator_Studio_Workspace\lokiwin\build\windows\WindowsPhone.ARM\CMakeFiles\CMakeTmp\cmTryCompileExec1289290862.vcxproj] "C:\Users\QE-Tester\Documents\Appcelerator_Studio_Workspace\lokiwin\build\windows\WindowsPhone.ARM\CMakeFiles\CMakeTmp\cmTryCompileExec1289290862.vcxproj" (default target) (1) -> (_CreateTestLayout target) -> C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\AppxPackage\Microsoft.AppXPackage.Targets(1837,9): error MSB4023: Cannot evaluate the item metadata "%(FullPath)". The item metadata "%(FullPath)" cannot be applied to the path "C:\Users\QE-Tester\Documents\Appcelerator_Studio_Workspace\lokiwin\build\windows\WindowsPhone.ARM\CMakeFiles\CMakeTmp\AppPackages\cmTryCompileExec1289290862\cmTryCompileExec1289290862_1.0.0.0_ARM_Debug_Test\Dependencies\ARM\Microsoft.VCLibs.ARM.Debug.12.00.Phone.appx". C:\Users\QE-Tester\Documents\Appcelerator_Studio_Workspace\lokiwin\build\windows\WindowsPhone.ARM\CMakeFiles\CMakeTmp\AppPackages\cmTryCompileExec1289290862\cmTryCompileExec1289290862_1.0.0.0_ARM_Debug_Test\Dependencies\ARM\Microsoft.VCLibs.ARM.Debug.12.00.Phone.appx [C:\Users\QE-Tester\Documents\Appcelerator_Studio_Workspace\lokiwin\build\windows\WindowsPhone.ARM\CMakeFiles\CMakeTmp\cmTryCompileExec1289290862.vcxproj] 2 Warning(s) 1 Error(s) Time Elapsed 00:00:03.65 CMake will not be able to correctly generate this project. Call Stack (most recent call first): CMakeLists.txt:17 (project) [WARN] : [INFO] : -- Configuring incomplete, errors occurred! See also "C:/Users/QE-Tester/Documents/Appcelerator_Studio_Workspace/lokiwin/build/windows/WindowsPhone.ARM/CMakeFiles/CMakeOutput.log". See also "C:/Users/QE-Tester/Documents/Appcelerator_Studio_Workspace/lokiwin/build/windows/WindowsPhone.ARM/CMakeFiles/CMakeError.log".There's two things that stand out for me in the output here:
and later:The C compiler "C:/Program Files (x86)/Microsoft Visual Studio 12.0/VC/bin/cl.exe" is not able to compile a simple test program. It fails with the following output: Change Dir: C:/Users/Windo_000/Documents/Appcelerator_Studio_Workspace/monkeyLord2/build/windows/WindowsPhone.Win32/CMakeFiles/CMakeTmpSo it looks to me like a path issue. My best guess is that it's just throwing up errors due to the second error message - that these paths are too long for Windows. If that's the case, then I suppose the "fix" here is to try and compile under C:\Temp and then copy everything over after? Basically the default workspace path is very long and just trying to build everything under the project's build/windows/WindowPhone.ARCH folder will often result in very long paths. An easy way to test this theory is to instead generate the project at the root of the drive and try building (i.e. "C:\project"). This will chop off around 56 characters from the path in this particular case.Upon further testing I see that if my project path has 65 characters or less the app is build successfully, whereas if its 68 characters or more the build fails with the error above. This means we are adding lot of characters on top of 65 during the build process for the build process to fail.
Unfortunately there's not a lot of great workarounds to build into the tooling. Some options: - trim the paths I append to the build folder, mostly the Windows(Phone/Store).(Win32|ARM) portion. I could shrink this down to around ~6 characters, which would save us 10-12 characters. - Use a different folder for building and then copy the results over before launch? This would slow the build down as we'd have to copy things around. Also With Windows 7/8+ the temp directory isn't exactly short either: "C:\Users\User Name\AppData\Local\Temp" - Hacking something up with SUBST: http://technet.microsoft.com/en-us/library/bb491006.aspx to assign a drive letter to the path, effectively shortening the path. We're not the only ones running into this: https://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/2156195-fix-260-character-file-name-length-limitation http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/4954037-fix-260-character-file-name-length-limitation
So trimming the appended path plus using temp may make a decent enough crack at avoiding this for users. Let's compare the proposed versus current:
Then we can copy the result back into ~/build/windows/wp.x86 after the msbuild portion runs. So in this case we'd save 47 characters, which seems pretty good since the limit we're trying to avoid is 260. Unfortunately, beyond that we'd have to ask the users to place their projects in a shorter path to start with and not do the temp build.https://github.com/appcelerator/titanium_mobile_windows/pull/73
Verified using: Windows 8.1 Appc CLI (NPM): 4.1.0 Appc CLI (Registry): 4.1.0 Ti SDK: 4.1.0.GA When building on machines where the path exceeds 260 characters the build is now working fine Closing ticket