[TIMOB-18774] TitaniumWindows References/Link Library issue
| GitHub Issue | n/a |
|---|---|
| Type | Bug |
| Priority | Critical |
| Status | Closed |
| Resolution | Fixed |
| Resolution Date | 2015-04-15T03:59:01.000+0000 |
| Affected Version/s | n/a |
| Fix Version/s | n/a |
| Components | Windows |
| Labels | n/a |
| Reporter | Gary Mathews |
| Assignee | Kota Iguchi |
| Created | 2015-04-01T23:28:30.000+0000 |
| Updated | 2017-03-20T20:18:37.000+0000 |
Description
The _TitaniumWindows_ module contains references to 17 different modules. If another reference is added, bumping the count to 18 (e.g https://github.com/appcelerator/titanium_mobile_windows/pull/191) the build will fail.
What's strange is when a clean build is performed with 17 references. The build will succeed, if another reference is added and a normal build is performed it too will succeed. But if a clean build is performed again, the build will fail.
I don't think this is a CMake issue, since I can reproduce this using only Visual Studio.
I was able to reproduce this issue. I believe this is not a compiler/linker issue but there's a kind of bug or limitation around applicatioin packager (appx). What I am seeing is that there's external module (winmd) built and exe is successfully built, but there's an unexpected failure on
GenerateAppxManifesttask atAppxPackage\Microsoft.AppXPackage.Targets. What this mean I think is that appx packager is not working well with certain conditions (I guess it happens when we referenced over 18 external winmd). I also saw that the "Create App Packages" (which you can launch from VS "Project -> Store" menu) standalone packager crashes for the project. To workaround this, we might want to add module files against certain target such asTitaniumWindowsinstead of adding new module as winmd.Error 22 error MSB4018: The "GenerateAppxManifest" task failed unexpectedly. System.IndexOutOfRangeException: Index was outside the bounds of the array. at Microsoft.Cci.MetadataReader.PEFileToObjectModel.GetCoreAssemblySymbolicIdentity() Error 21 error APPX0002: Task 'GenerateAppxManifest' failed. Index was outside the bounds of the array. C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\AppxPackage\Microsoft.AppXPackage.Targets 1356 9 NGhttps://github.com/appcelerator/titanium_mobile_windows/pull/214
Fixed by https://github.com/appcelerator/titanium_mobile_windows/pull/218
Closing ticket as fixed.