{"id":2116,"date":"2015-07-31T12:44:58","date_gmt":"2015-07-31T10:44:58","guid":{"rendered":"http:\/\/mariusbancila.ro\/blog\/?p=2116"},"modified":"2015-07-31T12:44:58","modified_gmt":"2015-07-31T10:44:58","slug":"migrating-a-cordova-project-from-visual-studio-2013-to-visual-studio-2015","status":"publish","type":"post","link":"https:\/\/mariusbancila.ro\/blog\/2015\/07\/31\/migrating-a-cordova-project-from-visual-studio-2013-to-visual-studio-2015\/","title":{"rendered":"Migrating a Cordova project from Visual Studio 2013 to Visual Studio 2015"},"content":{"rendered":"<p>If you work on a Apache Cordova project in Visual Studio 2013 using Visual Studio Tools for Apache Cordova CTP 3 or 3.1 you should know there are important breaking changes in migrating the project from Visual Studio 2013 to Visual Studio 2015. The project can be migrated, but you have to do everything manually, as Visual Studio is not able to apply the changes automatically.<\/p>\n<p>First of all, Visual Studio Tools for Apache Cordova CTP3.x are not longer supported in Visual Studio 2013 in the first place. If you try to install Update 5 it will prompt you to remove it before continuing.<br \/>\n<a href=\"http:\/\/mariusbancila.ro\/blog\/wp-content\/uploads\/2015\/07\/vs2013u5.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/mariusbancila.ro\/blog\/wp-content\/uploads\/2015\/07\/vs2013u5.png\" alt=\"vs2013u5\" width=\"460\" height=\"644\" class=\"alignnone size-full wp-image-2117\" srcset=\"https:\/\/mariusbancila.ro\/blog\/wp-content\/uploads\/2015\/07\/vs2013u5.png 460w, https:\/\/mariusbancila.ro\/blog\/wp-content\/uploads\/2015\/07\/vs2013u5-214x300.png 214w\" sizes=\"auto, (max-width: 460px) 100vw, 460px\" \/><\/a><br \/>\nThis is explained in the <a href=\"http:\/\/Visual Studio 2013 Update 5 (2013.5) RTM\">release notes for Update 5<\/a>.<\/p>\n<blockquote><p><strong>Also note<\/strong>: All prior releases of the Tools for Apache Cordova are incompatible with Update 5. If you have previously installed a Tools for Apache Cordova CTP extension, you must uninstall that extension before installing Visual Studio 2013 Update 5. If you require Apache Cordova support, we encourage you to try Visual Studio 2015.<\/p><\/blockquote>\n<p>The options for those developing with the VS tools for Apache Cordova in VS2013 are either to switch to Visual Studio 2015 or not install the last update and continue to work with CTP 3.x in VS2013.<\/p>\n<p>In this article I will show you how to migrate a Cordova application from VS2013 to VS2015 and I will exemplify with a test application. <\/p>\n<p>I have this app called <strong>TestApp<\/strong>. It&#8217;s built with Ionic and AngularJS. It is a JavaScript app, not a TypeScript app, but this works just the same regardless what language you use. It has the following project structure, with the Javascript source code in a folder called <em>app<\/em>, the libraries in <em>libs<\/em> and the templates in <em>views<\/em>. There are other folders apart from the ones VS has created, mainly <em>css<\/em> and <em>images<\/em>.<\/p>\n<table>\n<tbody>\n<tr valign=\"top\">\n<td><a href=\"http:\/\/mariusbancila.ro\/blog\/wp-content\/uploads\/2015\/07\/vs2013proj1.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/mariusbancila.ro\/blog\/wp-content\/uploads\/2015\/07\/vs2013proj1.png\" alt=\"vs2013proj1\" width=\"381\" height=\"327\" class=\"alignnone size-full wp-image-2119\" srcset=\"https:\/\/mariusbancila.ro\/blog\/wp-content\/uploads\/2015\/07\/vs2013proj1.png 381w, https:\/\/mariusbancila.ro\/blog\/wp-content\/uploads\/2015\/07\/vs2013proj1-300x257.png 300w\" sizes=\"auto, (max-width: 381px) 100vw, 381px\" \/><\/a><\/td>\n<td><a href=\"http:\/\/mariusbancila.ro\/blog\/wp-content\/uploads\/2015\/07\/vs2013proj2.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/mariusbancila.ro\/blog\/wp-content\/uploads\/2015\/07\/vs2013proj2.png\" alt=\"vs2013proj2\" width=\"382\" height=\"516\" class=\"alignnone size-full wp-image-2120\" srcset=\"https:\/\/mariusbancila.ro\/blog\/wp-content\/uploads\/2015\/07\/vs2013proj2.png 382w, https:\/\/mariusbancila.ro\/blog\/wp-content\/uploads\/2015\/07\/vs2013proj2-222x300.png 222w\" sizes=\"auto, (max-width: 382px) 100vw, 382px\" \/><\/a><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>The application is just a test, it doesn&#8217;t do anything but it works for both Android and iOS.<\/p>\n<table>\n<tbody>\n<tr valign=\"top\">\n<td><a href=\"http:\/\/mariusbancila.ro\/blog\/wp-content\/uploads\/2015\/07\/ripple1.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/mariusbancila.ro\/blog\/wp-content\/uploads\/2015\/07\/ripple1.png\" alt=\"ripple1\" width=\"477\" height=\"833\" class=\"alignnone size-full wp-image-2122\" srcset=\"https:\/\/mariusbancila.ro\/blog\/wp-content\/uploads\/2015\/07\/ripple1.png 477w, https:\/\/mariusbancila.ro\/blog\/wp-content\/uploads\/2015\/07\/ripple1-172x300.png 172w\" sizes=\"auto, (max-width: 477px) 100vw, 477px\" \/><\/a><\/td>\n<td><a href=\"http:\/\/mariusbancila.ro\/blog\/wp-content\/uploads\/2015\/07\/ripple2.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/mariusbancila.ro\/blog\/wp-content\/uploads\/2015\/07\/ripple2.png\" alt=\"ripple2\" width=\"477\" height=\"833\" class=\"alignnone size-full wp-image-2123\" srcset=\"https:\/\/mariusbancila.ro\/blog\/wp-content\/uploads\/2015\/07\/ripple2.png 477w, https:\/\/mariusbancila.ro\/blog\/wp-content\/uploads\/2015\/07\/ripple2-172x300.png 172w\" sizes=\"auto, (max-width: 477px) 100vw, 477px\" \/><\/a><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>When you open this project in Visual Studio 2015 it is not loaded. Visual Studio complains that <em>&#8220;This project is incompatible with the current edition of Visual Studio.&#8221;<\/em><br \/>\n<a href=\"http:\/\/mariusbancila.ro\/blog\/wp-content\/uploads\/2015\/07\/vs2015proj1.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/mariusbancila.ro\/blog\/wp-content\/uploads\/2015\/07\/vs2015proj1.png\" alt=\"vs2015proj1\" width=\"455\" height=\"171\" class=\"alignnone size-full wp-image-2125\" srcset=\"https:\/\/mariusbancila.ro\/blog\/wp-content\/uploads\/2015\/07\/vs2015proj1.png 455w, https:\/\/mariusbancila.ro\/blog\/wp-content\/uploads\/2015\/07\/vs2015proj1-300x113.png 300w\" sizes=\"auto, (max-width: 455px) 100vw, 455px\" \/><\/a><br \/>\nYou have to covert it manually in order to make it available for Visual Studio 2015. Fortunately, the steps to do this are documented, but not in MSDN as one might expect, but on GitHub. There is a document called <a href=\"https:\/\/github.com\/Microsoft\/cordova-docs\/blob\/master\/known-issues\/known-issues-vs2015.md\" target=\"_blank\">Known Issues &#8211; Visual Studio 2015<\/a> that explains what has to be done. <\/p>\n<ul>\n<li>Create a new empty Apache Cordova app. The only purpose of this app is to copy from files to your actually project.<br \/>\n<a href=\"http:\/\/mariusbancila.ro\/blog\/wp-content\/uploads\/2015\/07\/vs2015proj2.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/mariusbancila.ro\/blog\/wp-content\/uploads\/2015\/07\/vs2015proj2.png\" alt=\"vs2015proj2\" width=\"320\" height=\"482\" class=\"alignnone size-full wp-image-2126\" srcset=\"https:\/\/mariusbancila.ro\/blog\/wp-content\/uploads\/2015\/07\/vs2015proj2.png 320w, https:\/\/mariusbancila.ro\/blog\/wp-content\/uploads\/2015\/07\/vs2015proj2-199x300.png 199w\" sizes=\"auto, (max-width: 320px) 100vw, 320px\" \/><\/a><\/li>\n<li>Copy the <strong>.jsproj<\/strong> and <strong>taco.json<\/strong> files into the project folder of the application you migrate. Make sure you overwrite the existing .jsproj with this new project file.<\/li>\n<li>Delete the existing <strong>bin<\/strong> and <strong>bld<\/strong> folders<\/li>\n<li>Create a folder called <strong>www<\/strong><\/li>\n<li>Move everything except for <strong>config.xml<\/strong> and folders <strong>merges<\/strong>, <strong>res<\/strong> and <strong>plugins<\/strong> to the <strong>www<\/strong> folder.<\/li>\n<\/ul>\n<p>If you open the project again in Visual Studio 2015 it will work and you can build and run it. For my test application the new project looks like this.<br \/>\n<a href=\"http:\/\/mariusbancila.ro\/blog\/wp-content\/uploads\/2015\/07\/vs2015proj3.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/mariusbancila.ro\/blog\/wp-content\/uploads\/2015\/07\/vs2015proj3.png\" alt=\"vs2015proj3\" width=\"319\" height=\"549\" class=\"alignnone size-full wp-image-2127\" srcset=\"https:\/\/mariusbancila.ro\/blog\/wp-content\/uploads\/2015\/07\/vs2015proj3.png 319w, https:\/\/mariusbancila.ro\/blog\/wp-content\/uploads\/2015\/07\/vs2015proj3-174x300.png 174w\" sizes=\"auto, (max-width: 319px) 100vw, 319px\" \/><\/a><\/p>\n<p>You can see that the all the folders and files under the <em>www<\/em> folder appear automatically in the solution explorer. They are not added with a <em>Content<\/em> or <em>Folder<\/em> element in the .jsproj file. You can make a comparison of the old and new .jsproj and see how simplified the new file is.<br \/>\n<a href=\"http:\/\/mariusbancila.ro\/blog\/wp-content\/uploads\/2015\/07\/jsprojcompare1.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/mariusbancila.ro\/blog\/wp-content\/uploads\/2015\/07\/jsprojcompare1-1024x730.png\" alt=\"jsprojcompare1\" width=\"1024\" height=\"730\" class=\"alignnone size-large wp-image-2130\" srcset=\"https:\/\/mariusbancila.ro\/blog\/wp-content\/uploads\/2015\/07\/jsprojcompare1-1024x730.png 1024w, https:\/\/mariusbancila.ro\/blog\/wp-content\/uploads\/2015\/07\/jsprojcompare1-300x214.png 300w, https:\/\/mariusbancila.ro\/blog\/wp-content\/uploads\/2015\/07\/jsprojcompare1.png 1338w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/p>\n<p>Another thing to notice here is that the NodeJS module used for building the project is no longer called <strong>vs-mda<\/strong> (i.e. Visual Studio Multi-Device Application) but <strong>vs-tac<\/strong> (i.e. Visual Studio Tools for Apache Cordova).<br \/>\n<a href=\"http:\/\/mariusbancila.ro\/blog\/wp-content\/uploads\/2015\/07\/jsprojcompare2.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/mariusbancila.ro\/blog\/wp-content\/uploads\/2015\/07\/jsprojcompare2-1024x730.png\" alt=\"jsprojcompare2\" width=\"1024\" height=\"730\" class=\"alignnone size-large wp-image-2131\" srcset=\"https:\/\/mariusbancila.ro\/blog\/wp-content\/uploads\/2015\/07\/jsprojcompare2-1024x730.png 1024w, https:\/\/mariusbancila.ro\/blog\/wp-content\/uploads\/2015\/07\/jsprojcompare2-300x214.png 300w, https:\/\/mariusbancila.ro\/blog\/wp-content\/uploads\/2015\/07\/jsprojcompare2.png 1338w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/p>\n<p>However, when I tried to build I got the following error:<\/p>\n<blockquote><p>MSBUILD : cordova-build error BLD401: Error : BLD00401 : Could not find module &#8216;delayed-stream&#8217;] code: &#8216;MODULE_NOT_FOUND&#8217;. Please Go to Tools &#8211;> Options &#8211;> Tools for Apache Cordova &#8211;> Cordova Tools &#8211;> Clear Cordova Cache and try building again.<\/p><\/blockquote>\n<p>This might have been related to the version of Apache Cordova I had globally installed, i.e. 5.1.1. If you get the same install it via npm.<\/p>\n<pre class=\"lang:default decode:true \" >npm -g install delayed-stream<\/pre>\n<p>However, you may still get problems when you try to build for Android.<\/p>\n<blockquote><p>\nMSBUILD : cordova-build error BLD10205: Please install Android target &#8220;&#8221;<br \/>\n  You may not have the required environment or OS to build this project<br \/>\nMDAVSCLI : error : cmd: Command failed with exit code 2<\/p><\/blockquote>\n<p>The Android target name is empty, but if you do a Rebuild you get more information and actual required target name:<\/p>\n<blockquote><p>\n  [Error: Please install Android target: &#8220;android-21&#8221;.<\/p>\n<p>  Hint: Open the SDK manager by running: C:\\Program\\ Files\\ (x86)\\Android\\android-sdk\\tools\\android.BAT<br \/>\n  You will require:<br \/>\n  1. &#8220;SDK Platform&#8221; for android-21<br \/>\n  2. &#8220;Android SDK Platform-tools (latest)<br \/>\n  3. &#8220;Android SDK Build-tools&#8221; (latest)]<br \/>\nC:\\Program Files (x86)\\MSBuild\\Microsoft\\VisualStudio\\v14.0\\ApacheCordovaTools\\vs-mda-targets\\Microsoft.MDA.FileMirroring.targets(352,5): error MSB3073: The command &#8220;platforms\\android\\cordova\\clean.bat&#8221; exited with code 2.\n<\/p><\/blockquote>\n<p>These can be installed using the Android SDK Manager. Make sure you select all the mentioned components.<br \/>\n<a href=\"http:\/\/mariusbancila.ro\/blog\/wp-content\/uploads\/2015\/07\/android1.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/mariusbancila.ro\/blog\/wp-content\/uploads\/2015\/07\/android1.png\" alt=\"android1\" width=\"682\" height=\"703\" class=\"alignnone size-full wp-image-2134\" srcset=\"https:\/\/mariusbancila.ro\/blog\/wp-content\/uploads\/2015\/07\/android1.png 682w, https:\/\/mariusbancila.ro\/blog\/wp-content\/uploads\/2015\/07\/android1-291x300.png 291w\" sizes=\"auto, (max-width: 682px) 100vw, 682px\" \/><\/a><br \/>\nWith these changes you can build successfully for Android.<\/p>\n<p>One more thing here is the version of Apache Cordova used by <strong>vs-tac<\/strong> to build. <strong>vs-tac<\/strong> uses Cordova 4.3.1, but I already had Cordova 5.1.1 installed on my machine and used by <strong>vs-mda<\/strong>. If you have a newer Cordova version than 4.3.1 what you have to do instruct <strong>vs-tac<\/strong> to use this one in the <strong>taco.json<\/strong> file. <\/p>\n<pre class=\"lang:default decode:true \" >{\r\n\t\"cordova-cli\": \"4.3.1\"\r\n}<\/pre>\n<p>Replace the version 4.3.1 of the cordova command line interface with desired version (in my case 5.1.1). When you rebuilt it will install it and build with it.<\/p>\n<blockquote><p>\n  Your environment has been set up for using Node.js 0.12.7 (x64) and npm.<br \/>\n  &#8212;&#8212; Ensuring correct global installation of package from source package directory: C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\Common7\\IDE\\Extensions\\ApacheCordovaTools\\packages\\vs-tac<br \/>\n  &#8212;&#8212; Name from source package.json: vs-tac<br \/>\n  &#8212;&#8212; Version from source package.json: 1.0.0<br \/>\n  &#8212;&#8212; Package already installed globally at correct version.<br \/>\n  &#8212;&#8212; Installing Cordova tools cordova@5.1.1 for project from npm. This could take a few minutes&#8230;\n<\/p><\/blockquote>\n<p>You can find the various Cordova versions installed under <em>%APPDATA%\\npm\\node_modules\\vs-tac\\node_modules\\cordova<\/em>.<br \/>\n<a href=\"http:\/\/mariusbancila.ro\/blog\/wp-content\/uploads\/2015\/07\/vstac3.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/mariusbancila.ro\/blog\/wp-content\/uploads\/2015\/07\/vstac3.png\" alt=\"vstac3\" width=\"543\" height=\"373\" class=\"alignnone size-full wp-image-2140\" srcset=\"https:\/\/mariusbancila.ro\/blog\/wp-content\/uploads\/2015\/07\/vstac3.png 543w, https:\/\/mariusbancila.ro\/blog\/wp-content\/uploads\/2015\/07\/vstac3-300x206.png 300w\" sizes=\"auto, (max-width: 543px) 100vw, 543px\" \/><\/a><\/p>\n<p>For more information see:<\/p>\n<ul>\n<li><a href=\"https:\/\/msdn.microsoft.com\/en-us\/library\/Dn757054.aspx\" target=\"_blank\">Install Visual Studio Tools for Apache Cordova<\/a><\/li>\n<li><a href=\"https:\/\/msdn.microsoft.com\/library\/dn771551%20(v=vs.140).aspx\" target=\"_blank\">Configure the Visual Studio Tools for Apache Cordova<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>If you work on a Apache Cordova project in Visual Studio 2013 using Visual Studio Tools for Apache Cordova CTP 3 or 3.1 you should know there are important breaking changes in migrating the project from Visual Studio 2013 to Visual Studio 2015. The project can be migrated, but you have to do everything manually, &#8230; <a title=\"Migrating a Cordova project from Visual Studio 2013 to Visual Studio 2015\" class=\"read-more\" href=\"https:\/\/mariusbancila.ro\/blog\/2015\/07\/31\/migrating-a-cordova-project-from-visual-studio-2013-to-visual-studio-2015\/\" aria-label=\"Read more about Migrating a Cordova project from Visual Studio 2013 to Visual Studio 2015\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_uag_custom_page_level_css":"","advgb_blocks_editor_width":"","advgb_blocks_columns_visual_guide":"","_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[417,416,52,10],"tags":[420,419,362,445,449],"class_list":["post-2116","post","type-post","status-publish","format-standard","hentry","category-android","category-mobile","category-tools","category-visual-studio","tag-android-2","tag-cordova","tag-vs2013","tag-vs2015","tag-vstoolscordova"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"This article shows how to manually migrate a Apache Cordova project from Visual Studio 2013 to Visual Studio 2015.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Marius Bancila\"\/>\n\t<meta name=\"keywords\" content=\"cordova,vstoolscordova,vs2013,vs2015,android\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/mariusbancila.ro\/blog\/2015\/07\/31\/migrating-a-cordova-project-from-visual-studio-2013-to-visual-studio-2015\/\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Marius Bancila&#039;s Blog | About code. Mostly on C++\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Migrating a Cordova project from VS2013 to VS2015\" \/>\n\t\t<meta property=\"og:description\" content=\"This article shows how to manually migrate a Apache Cordova project from Visual Studio 2013 to Visual Studio 2015.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/mariusbancila.ro\/blog\/2015\/07\/31\/migrating-a-cordova-project-from-visual-studio-2013-to-visual-studio-2015\/\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2015-07-31T10:44:58+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2015-07-31T10:44:58+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Migrating a Cordova project from VS2013 to VS2015\" \/>\n\t\t<meta name=\"twitter:description\" content=\"This article shows how to manually migrate a Apache Cordova project from Visual Studio 2013 to Visual Studio 2015.\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/2015\\\/07\\\/31\\\/migrating-a-cordova-project-from-visual-studio-2013-to-visual-studio-2015\\\/#article\",\"name\":\"Migrating a Cordova project from VS2013 to VS2015\",\"headline\":\"Migrating a Cordova project from Visual Studio 2013 to Visual Studio 2015\",\"author\":{\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/author\\\/admin\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/#organization\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/wp-content\\\/uploads\\\/2015\\\/07\\\/vs2013u5.png\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/2015\\\/07\\\/31\\\/migrating-a-cordova-project-from-visual-studio-2013-to-visual-studio-2015\\\/#articleImage\",\"width\":460,\"height\":644},\"datePublished\":\"2015-07-31T12:44:58+02:00\",\"dateModified\":\"2015-07-31T12:44:58+02:00\",\"inLanguage\":\"en-US\",\"commentCount\":1,\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/2015\\\/07\\\/31\\\/migrating-a-cordova-project-from-visual-studio-2013-to-visual-studio-2015\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/2015\\\/07\\\/31\\\/migrating-a-cordova-project-from-visual-studio-2013-to-visual-studio-2015\\\/#webpage\"},\"articleSection\":\"Android, Mobile, Tools, Visual Studio, android, cordova, vs2013, VS2015, vstoolscordova\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/2015\\\/07\\\/31\\\/migrating-a-cordova-project-from-visual-studio-2013-to-visual-studio-2015\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/category\\\/it\\\/#listItem\",\"name\":\"IT\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/category\\\/it\\\/#listItem\",\"position\":2,\"name\":\"IT\",\"item\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/category\\\/it\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/category\\\/it\\\/software\\\/#listItem\",\"name\":\"Software\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/category\\\/it\\\/software\\\/#listItem\",\"position\":3,\"name\":\"Software\",\"item\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/category\\\/it\\\/software\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/category\\\/it\\\/software\\\/visual-studio\\\/#listItem\",\"name\":\"Visual Studio\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/category\\\/it\\\/#listItem\",\"name\":\"IT\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/category\\\/it\\\/software\\\/visual-studio\\\/#listItem\",\"position\":4,\"name\":\"Visual Studio\",\"item\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/category\\\/it\\\/software\\\/visual-studio\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/2015\\\/07\\\/31\\\/migrating-a-cordova-project-from-visual-studio-2013-to-visual-studio-2015\\\/#listItem\",\"name\":\"Migrating a Cordova project from Visual Studio 2013 to Visual Studio 2015\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/category\\\/it\\\/software\\\/#listItem\",\"name\":\"Software\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/2015\\\/07\\\/31\\\/migrating-a-cordova-project-from-visual-studio-2013-to-visual-studio-2015\\\/#listItem\",\"position\":5,\"name\":\"Migrating a Cordova project from Visual Studio 2013 to Visual Studio 2015\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/category\\\/it\\\/software\\\/visual-studio\\\/#listItem\",\"name\":\"Visual Studio\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/#organization\",\"name\":\"Marius Bancila's Blog\",\"description\":\"About code. Mostly on C++\",\"url\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/author\\\/admin\\\/#author\",\"url\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/author\\\/admin\\\/\",\"name\":\"Marius Bancila\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/2015\\\/07\\\/31\\\/migrating-a-cordova-project-from-visual-studio-2013-to-visual-studio-2015\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a84dd2831d955c38355ddea55df4df260809b88f36408bc14fd4eab8f7f131c9?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"Marius Bancila\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/2015\\\/07\\\/31\\\/migrating-a-cordova-project-from-visual-studio-2013-to-visual-studio-2015\\\/#webpage\",\"url\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/2015\\\/07\\\/31\\\/migrating-a-cordova-project-from-visual-studio-2013-to-visual-studio-2015\\\/\",\"name\":\"Migrating a Cordova project from VS2013 to VS2015\",\"description\":\"This article shows how to manually migrate a Apache Cordova project from Visual Studio 2013 to Visual Studio 2015.\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/2015\\\/07\\\/31\\\/migrating-a-cordova-project-from-visual-studio-2013-to-visual-studio-2015\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/author\\\/admin\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/author\\\/admin\\\/#author\"},\"datePublished\":\"2015-07-31T12:44:58+02:00\",\"dateModified\":\"2015-07-31T12:44:58+02:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/\",\"name\":\"Marius Bancila's Blog\",\"description\":\"About code. Mostly on C++\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Migrating a Cordova project from VS2013 to VS2015","description":"This article shows how to manually migrate a Apache Cordova project from Visual Studio 2013 to Visual Studio 2015.","canonical_url":"https:\/\/mariusbancila.ro\/blog\/2015\/07\/31\/migrating-a-cordova-project-from-visual-studio-2013-to-visual-studio-2015\/","robots":"max-image-preview:large","keywords":"cordova,vstoolscordova,vs2013,vs2015,android","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/mariusbancila.ro\/blog\/2015\/07\/31\/migrating-a-cordova-project-from-visual-studio-2013-to-visual-studio-2015\/#article","name":"Migrating a Cordova project from VS2013 to VS2015","headline":"Migrating a Cordova project from Visual Studio 2013 to Visual Studio 2015","author":{"@id":"https:\/\/mariusbancila.ro\/blog\/author\/admin\/#author"},"publisher":{"@id":"https:\/\/mariusbancila.ro\/blog\/#organization"},"image":{"@type":"ImageObject","url":"https:\/\/mariusbancila.ro\/blog\/wp-content\/uploads\/2015\/07\/vs2013u5.png","@id":"https:\/\/mariusbancila.ro\/blog\/2015\/07\/31\/migrating-a-cordova-project-from-visual-studio-2013-to-visual-studio-2015\/#articleImage","width":460,"height":644},"datePublished":"2015-07-31T12:44:58+02:00","dateModified":"2015-07-31T12:44:58+02:00","inLanguage":"en-US","commentCount":1,"mainEntityOfPage":{"@id":"https:\/\/mariusbancila.ro\/blog\/2015\/07\/31\/migrating-a-cordova-project-from-visual-studio-2013-to-visual-studio-2015\/#webpage"},"isPartOf":{"@id":"https:\/\/mariusbancila.ro\/blog\/2015\/07\/31\/migrating-a-cordova-project-from-visual-studio-2013-to-visual-studio-2015\/#webpage"},"articleSection":"Android, Mobile, Tools, Visual Studio, android, cordova, vs2013, VS2015, vstoolscordova"},{"@type":"BreadcrumbList","@id":"https:\/\/mariusbancila.ro\/blog\/2015\/07\/31\/migrating-a-cordova-project-from-visual-studio-2013-to-visual-studio-2015\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog\/#listItem","position":1,"name":"Home","item":"https:\/\/mariusbancila.ro\/blog\/","nextItem":{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog\/category\/it\/#listItem","name":"IT"}},{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog\/category\/it\/#listItem","position":2,"name":"IT","item":"https:\/\/mariusbancila.ro\/blog\/category\/it\/","nextItem":{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog\/category\/it\/software\/#listItem","name":"Software"},"previousItem":{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog\/#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog\/category\/it\/software\/#listItem","position":3,"name":"Software","item":"https:\/\/mariusbancila.ro\/blog\/category\/it\/software\/","nextItem":{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog\/category\/it\/software\/visual-studio\/#listItem","name":"Visual Studio"},"previousItem":{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog\/category\/it\/#listItem","name":"IT"}},{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog\/category\/it\/software\/visual-studio\/#listItem","position":4,"name":"Visual Studio","item":"https:\/\/mariusbancila.ro\/blog\/category\/it\/software\/visual-studio\/","nextItem":{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog\/2015\/07\/31\/migrating-a-cordova-project-from-visual-studio-2013-to-visual-studio-2015\/#listItem","name":"Migrating a Cordova project from Visual Studio 2013 to Visual Studio 2015"},"previousItem":{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog\/category\/it\/software\/#listItem","name":"Software"}},{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog\/2015\/07\/31\/migrating-a-cordova-project-from-visual-studio-2013-to-visual-studio-2015\/#listItem","position":5,"name":"Migrating a Cordova project from Visual Studio 2013 to Visual Studio 2015","previousItem":{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog\/category\/it\/software\/visual-studio\/#listItem","name":"Visual Studio"}}]},{"@type":"Organization","@id":"https:\/\/mariusbancila.ro\/blog\/#organization","name":"Marius Bancila's Blog","description":"About code. Mostly on C++","url":"https:\/\/mariusbancila.ro\/blog\/"},{"@type":"Person","@id":"https:\/\/mariusbancila.ro\/blog\/author\/admin\/#author","url":"https:\/\/mariusbancila.ro\/blog\/author\/admin\/","name":"Marius Bancila","image":{"@type":"ImageObject","@id":"https:\/\/mariusbancila.ro\/blog\/2015\/07\/31\/migrating-a-cordova-project-from-visual-studio-2013-to-visual-studio-2015\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/a84dd2831d955c38355ddea55df4df260809b88f36408bc14fd4eab8f7f131c9?s=96&d=mm&r=g","width":96,"height":96,"caption":"Marius Bancila"}},{"@type":"WebPage","@id":"https:\/\/mariusbancila.ro\/blog\/2015\/07\/31\/migrating-a-cordova-project-from-visual-studio-2013-to-visual-studio-2015\/#webpage","url":"https:\/\/mariusbancila.ro\/blog\/2015\/07\/31\/migrating-a-cordova-project-from-visual-studio-2013-to-visual-studio-2015\/","name":"Migrating a Cordova project from VS2013 to VS2015","description":"This article shows how to manually migrate a Apache Cordova project from Visual Studio 2013 to Visual Studio 2015.","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/mariusbancila.ro\/blog\/#website"},"breadcrumb":{"@id":"https:\/\/mariusbancila.ro\/blog\/2015\/07\/31\/migrating-a-cordova-project-from-visual-studio-2013-to-visual-studio-2015\/#breadcrumblist"},"author":{"@id":"https:\/\/mariusbancila.ro\/blog\/author\/admin\/#author"},"creator":{"@id":"https:\/\/mariusbancila.ro\/blog\/author\/admin\/#author"},"datePublished":"2015-07-31T12:44:58+02:00","dateModified":"2015-07-31T12:44:58+02:00"},{"@type":"WebSite","@id":"https:\/\/mariusbancila.ro\/blog\/#website","url":"https:\/\/mariusbancila.ro\/blog\/","name":"Marius Bancila's Blog","description":"About code. Mostly on C++","inLanguage":"en-US","publisher":{"@id":"https:\/\/mariusbancila.ro\/blog\/#organization"}}]},"og:locale":"en_US","og:site_name":"Marius Bancila's Blog | About code. Mostly on C++","og:type":"article","og:title":"Migrating a Cordova project from VS2013 to VS2015","og:description":"This article shows how to manually migrate a Apache Cordova project from Visual Studio 2013 to Visual Studio 2015.","og:url":"https:\/\/mariusbancila.ro\/blog\/2015\/07\/31\/migrating-a-cordova-project-from-visual-studio-2013-to-visual-studio-2015\/","article:published_time":"2015-07-31T10:44:58+00:00","article:modified_time":"2015-07-31T10:44:58+00:00","twitter:card":"summary","twitter:title":"Migrating a Cordova project from VS2013 to VS2015","twitter:description":"This article shows how to manually migrate a Apache Cordova project from Visual Studio 2013 to Visual Studio 2015."},"aioseo_meta_data":{"post_id":"2116","title":"Migrating a Cordova project from VS2013 to VS2015","description":"This article shows how to manually migrate a Apache Cordova project from Visual Studio 2013 to Visual Studio 2015.","keywords":[{"label":"cordova","value":"cordova"},{"label":"vstoolscordova","value":"vstoolscordova"},{"label":"vs2013","value":"vs2013"},{"label":"vs2015","value":"vs2015"},{"label":"android","value":"android"}],"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"location":null,"local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":null,"created":"2021-03-18 21:09:29","updated":"2025-12-12 07:42:26","seo_analyzer_scan_date":null,"focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"author_meta":{"display_name":"Marius Bancila","author_link":"https:\/\/mariusbancila.ro\/blog\/author\/admin\/"},"featured_img":null,"jetpack_publicize_connections":[],"uagb_featured_image_src":{"full":false,"thumbnail":false,"medium":false,"medium_large":false,"large":false,"1536x1536":false,"2048x2048":false},"uagb_author_info":{"display_name":"Marius Bancila","author_link":"https:\/\/mariusbancila.ro\/blog\/author\/admin\/"},"uagb_comment_info":1,"uagb_excerpt":"If you work on a Apache Cordova project in Visual Studio 2013 using Visual Studio Tools for Apache Cordova CTP 3 or 3.1 you should know there are important breaking changes in migrating the project from Visual Studio 2013 to Visual Studio 2015. The project can be migrated, but you have to do everything manually,&hellip;","coauthors":[],"tax_additional":{"categories":{"linked":["<a href=\"https:\/\/mariusbancila.ro\/blog\/category\/mobile\/android\/\" class=\"advgb-post-tax-term\">Android<\/a>","<a href=\"https:\/\/mariusbancila.ro\/blog\/category\/mobile\/\" class=\"advgb-post-tax-term\">Mobile<\/a>","<a href=\"https:\/\/mariusbancila.ro\/blog\/category\/it\/software\/tools\/\" class=\"advgb-post-tax-term\">Tools<\/a>","<a href=\"https:\/\/mariusbancila.ro\/blog\/category\/it\/software\/visual-studio\/\" class=\"advgb-post-tax-term\">Visual Studio<\/a>"],"unlinked":["<span class=\"advgb-post-tax-term\">Android<\/span>","<span class=\"advgb-post-tax-term\">Mobile<\/span>","<span class=\"advgb-post-tax-term\">Tools<\/span>","<span class=\"advgb-post-tax-term\">Visual Studio<\/span>"]},"tags":{"linked":["<a href=\"https:\/\/mariusbancila.ro\/blog\/category\/it\/software\/visual-studio\/\" class=\"advgb-post-tax-term\">android<\/a>","<a href=\"https:\/\/mariusbancila.ro\/blog\/category\/it\/software\/visual-studio\/\" class=\"advgb-post-tax-term\">cordova<\/a>","<a href=\"https:\/\/mariusbancila.ro\/blog\/category\/it\/software\/visual-studio\/\" class=\"advgb-post-tax-term\">vs2013<\/a>","<a href=\"https:\/\/mariusbancila.ro\/blog\/category\/it\/software\/visual-studio\/\" class=\"advgb-post-tax-term\">VS2015<\/a>","<a href=\"https:\/\/mariusbancila.ro\/blog\/category\/it\/software\/visual-studio\/\" class=\"advgb-post-tax-term\">vstoolscordova<\/a>"],"unlinked":["<span class=\"advgb-post-tax-term\">android<\/span>","<span class=\"advgb-post-tax-term\">cordova<\/span>","<span class=\"advgb-post-tax-term\">vs2013<\/span>","<span class=\"advgb-post-tax-term\">VS2015<\/span>","<span class=\"advgb-post-tax-term\">vstoolscordova<\/span>"]}},"comment_count":"1","relative_dates":{"created":"Posted 11 years ago","modified":"Updated 11 years ago"},"absolute_dates":{"created":"Posted on July 31, 2015","modified":"Updated on July 31, 2015"},"absolute_dates_time":{"created":"Posted on July 31, 2015 12:44 pm","modified":"Updated on July 31, 2015 12:44 pm"},"featured_img_caption":"","series_order":"","jetpack_shortlink":"https:\/\/wp.me\/pYNdv-y8","jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/mariusbancila.ro\/blog\/wp-json\/wp\/v2\/posts\/2116","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mariusbancila.ro\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mariusbancila.ro\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mariusbancila.ro\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mariusbancila.ro\/blog\/wp-json\/wp\/v2\/comments?post=2116"}],"version-history":[{"count":13,"href":"https:\/\/mariusbancila.ro\/blog\/wp-json\/wp\/v2\/posts\/2116\/revisions"}],"predecessor-version":[{"id":2141,"href":"https:\/\/mariusbancila.ro\/blog\/wp-json\/wp\/v2\/posts\/2116\/revisions\/2141"}],"wp:attachment":[{"href":"https:\/\/mariusbancila.ro\/blog\/wp-json\/wp\/v2\/media?parent=2116"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mariusbancila.ro\/blog\/wp-json\/wp\/v2\/categories?post=2116"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mariusbancila.ro\/blog\/wp-json\/wp\/v2\/tags?post=2116"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}