[{"data":1,"prerenderedAt":465},["ShallowReactive",2],{"article-forms-master-detail-template":3},{"article":4,"tags":117,"previous":132,"next":341},{"id":5,"title":6,"author":7,"body":8,"createdAt":106,"description":107,"extension":108,"img":71,"meta":109,"navigation":110,"path":111,"seo":112,"stem":113,"tags":114,"updatedAt":106,"__hash__":116},"articles\u002Farticles\u002Fforms-master-detail-template.md","Xamarin Forms Master Detail Template",null,{"type":9,"value":10,"toc":103},"minimark",[11,15,27,34,49,55,58,61,75,85],[12,13,14],"p",{},"The current Xamarin Forms master detail template is broken. You will get an error like Error CS0101 The namespace 'already contains a definition for",[12,16,17,18,26],{},"The fix..(thank you ",[19,20,25],"a",{"href":21,"target":22,"rel":23},"https:\u002F\u002Fforums.xamarin.com\u002Fprofile\u002F120906\u002FKymPhillpotts.3866","_blank",[24],"noopener","Kym Phillpotts",")",[28,29,30],"ol",{},[31,32,33],"li",{},"It would appear, that the added pages have the wrong namespace. So change the namespace on the added pages",[35,36,37,40,43,46],"ul",{},[31,38,39],{},"Page1.xaml.cs - change the Namespace to be just MyApp",[31,41,42],{},"Page1Detail.xaml.cs - Change the namespace to be just MyApp",[31,44,45],{},"Page1Master.xaml.cs - Change the namespace to be just MyApp",[31,47,48],{},"Page1MenuItem.cs - Change the namespace to \"MyApp\"",[28,50,52],{"start":51},2,[31,53,54],{},"I also noticed that in the Page1Master.xaml.cs it is incorrectly referencing the MenuItems.  It says Page1MenuItems = new ObservableCollection...Change that to be justMenuItems = new ObservableCollection...",[12,56,57],{},"No you can go to your App.Xaml.xs and set the Page1 as the master page:",[12,59,60],{},"eg.MainPage = new MyApp.Page1()",[12,62,63],{},[19,64,66],{"href":65},"\u002Farticle\u002Fimages\u002Fopen-live-writer-70a95c1575c8_decb-image_2.png",[67,68],"img",{"style":69,"title":70,"src":71,"alt":70,"width":72,"height":73,"border":74},"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;","image","\u002Farticles\u002Fimages\u002Fopen-live-writer-70a95c1575c8_decb-image_thumb.png",428,296,0,[12,76,77,78,81],{},"Reference: ",[19,79],{"title":80,"href":80},"https:\u002F\u002Fforums.xamarin.com\u002Fdiscussion\u002F89346\u002Fforms-master-detail-page-generation-is-broken",[19,82,80],{"href":80,"rel":83},[84],"nofollow",[12,86,87,88,91,94,97,100],{},"Also there are bugs in Bugzilla for both of these:",[89,90],"br",{},[19,92],{"href":93},"https:\u002F\u002Fbugzilla.xamarin.com\u002Fshow_bug.cgi?id=53020",[19,95,93],{"href":93,"rel":96},[84],[19,98],{"href":99},"https:\u002F\u002Fbugzilla.xamarin.com\u002Fshow_bug.cgi?id=53021",[19,101,99],{"href":99,"rel":102},[84],{"title":104,"searchDepth":51,"depth":51,"links":105},"",[],"2017-03-14T13:20:03.000Z","The current Xamarin Forms master detail template is broken.  You will get an error like Error CS0101 The namespace 'already contains a definition for.","md",{},true,"\u002Farticles\u002Fforms-master-detail-template",{"title":6,"description":107},"articles\u002Fforms-master-detail-template",[115],"xamarin","INsVAI3syQmOBP5U9aqAwo-8SVPG9zLItscvwFjbZ8Y",[118],{"id":119,"title":120,"body":121,"description":125,"extension":108,"img":126,"meta":127,"name":115,"navigation":110,"path":128,"seo":129,"stem":130,"__hash__":131},"tags\u002Ftags\u002Fxamarin.md","Xamarin",{"type":9,"value":122,"toc":123},[],{"title":104,"searchDepth":51,"depth":51,"links":124},[],"Xamarin is an open-source platform for building modern and performant applications for iOS, Android, and Windows with . NET. Xamarin is an abstraction layer that manages communication of shared code with underlying platform code.","https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1598313183973-4effcded8d5e?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=675&q=80",{},"\u002Ftags\u002Fxamarin",{"description":125},"tags\u002Fxamarin","deVB66I7cJMtWvqybFh5POf9LBCBwHNe-5ZGMOzV5G4",{"id":133,"title":134,"author":7,"body":135,"createdAt":331,"description":332,"extension":108,"img":322,"meta":333,"navigation":110,"path":334,"seo":335,"stem":336,"tags":337,"updatedAt":331,"__hash__":340},"articles\u002Farticles\u002Fnode-js-server-side-javascript-process-consuming-too-much-memory.md","Node.js server-side JavaScript process consuming too much memory",{"type":9,"value":136,"toc":329},[137,140,143,296,299,302,305,325],[12,138,139],{},"After the installation of Visual Studio 2017 latest edition, I have been watching memory consumption. Node.exe seems to be consistently around 500-700mb of RAM!. I did find this post which helps explain what is going on.",[12,141,142],{},"The node process you are seeing is powering the JavaScript language service. You will see this process appear anytime you edit a JS file, TS file, or any file with JS\u002FTS inside (html, cshtml, etc). This process is what powers IntelliSense, code navigation, formatting, and other editing features and it does this by analyzing the entire context of your project. If you have a lot of .js files in your project, this can get large, but more than likely the issue is that you have a lot of library files that are being analyzed. By default, we will scan every .js\u002F.ts file in your project. But you can override this behavior and tune the language service to only focus on your code. To do this create a tsconfig.json in your project root with the following settings:”",[144,145,149],"pre",{"className":146,"code":147,"language":148,"meta":104,"style":104},"language-js shiki shiki-themes github-light github-dark","{\n    \"compilerOptions\": {\n        \"allowJs\": true,\n        \"noEmit\": true\n    },\n    \"exclude\": [\n        \"wwwroot\u002Flib\" \u002F\u002Fignore everything in the lib folder (bootstrap, jquery, etc)  \n        \u002F\u002F add any other folders with library code here\n    ],\n    \"typeAcquisition\": { \n        \"enable\": true,\n        \"include\": [\n            \"bootstrap\"\n            \"jquery\"  \u002F\u002Flist libraries you are using here\n        ]\n    }\n}  \n","js",[150,151,152,161,170,186,197,203,212,222,228,234,243,255,263,269,278,284,290],"code",{"__ignoreMap":104},[153,154,157],"span",{"class":155,"line":156},"line",1,[153,158,160],{"class":159},"sVt8B","{\n",[153,162,163,167],{"class":155,"line":51},[153,164,166],{"class":165},"sZZnC","    \"compilerOptions\"",[153,168,169],{"class":159},": {\n",[153,171,173,176,179,183],{"class":155,"line":172},3,[153,174,175],{"class":165},"        \"allowJs\"",[153,177,178],{"class":159},": ",[153,180,182],{"class":181},"sj4cs","true",[153,184,185],{"class":159},",\n",[153,187,189,192,194],{"class":155,"line":188},4,[153,190,191],{"class":165},"        \"noEmit\"",[153,193,178],{"class":159},[153,195,196],{"class":181},"true\n",[153,198,200],{"class":155,"line":199},5,[153,201,202],{"class":159},"    },\n",[153,204,206,209],{"class":155,"line":205},6,[153,207,208],{"class":165},"    \"exclude\"",[153,210,211],{"class":159},": [\n",[153,213,215,218],{"class":155,"line":214},7,[153,216,217],{"class":165},"        \"wwwroot\u002Flib\"",[153,219,221],{"class":220},"sJ8bj"," \u002F\u002Fignore everything in the lib folder (bootstrap, jquery, etc)  \n",[153,223,225],{"class":155,"line":224},8,[153,226,227],{"class":220},"        \u002F\u002F add any other folders with library code here\n",[153,229,231],{"class":155,"line":230},9,[153,232,233],{"class":159},"    ],\n",[153,235,237,240],{"class":155,"line":236},10,[153,238,239],{"class":165},"    \"typeAcquisition\"",[153,241,242],{"class":159},": { \n",[153,244,246,249,251,253],{"class":155,"line":245},11,[153,247,248],{"class":165},"        \"enable\"",[153,250,178],{"class":159},[153,252,182],{"class":181},[153,254,185],{"class":159},[153,256,258,261],{"class":155,"line":257},12,[153,259,260],{"class":165},"        \"include\"",[153,262,211],{"class":159},[153,264,266],{"class":155,"line":265},13,[153,267,268],{"class":165},"            \"bootstrap\"\n",[153,270,272,275],{"class":155,"line":271},14,[153,273,274],{"class":165},"            \"jquery\"",[153,276,277],{"class":220},"  \u002F\u002Flist libraries you are using here\n",[153,279,281],{"class":155,"line":280},15,[153,282,283],{"class":159},"        ]\n",[153,285,287],{"class":155,"line":286},16,[153,288,289],{"class":159},"    }\n",[153,291,293],{"class":155,"line":292},17,[153,294,295],{"class":159},"}\n",[12,297,298],{},"Another option",[12,300,301],{},"Disabling the TypeScript extension is a workaround for the moment, at least for me. Click Tools, Extensions and Updates, search for \"TypeScript\" and disable it. Restart Visual Studio.”",[12,303,304],{},"Give it a try and let me know how it goes.",[12,306,77,307,310,313,315],{},[19,308],{"title":309,"href":309},"https:\u002F\u002Fdevelopercommunity.visualstudio.com\u002Fcontent\u002Fproblem\u002F27033\u002Fnodejs-server-side-javascript-process-consuming-to.html",[19,311,309],{"href":309,"rel":312},[84],[89,314],{},[19,316,319],{"style":317,"href":318},"display: none;","\u002Farticles\u002Fimages\u002Fopen-live-writer-nodjs-server-side-javascript-process-co_13be9-js_2.png",[67,320],{"style":321,"title":148,"src":322,"alt":148,"width":323,"height":324,"border":74},"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;","\u002Farticles\u002Fimages\u002Fopen-live-writer-nodjs-server-side-javascript-process-co_13be9-js_thumb.png",203,156,[326,327,328],"style",{},"html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":104,"searchDepth":51,"depth":51,"links":330},[],"2017-03-17T06:10:45.510Z","After the installation of Visual Studio 2017 latest edition, I have been watching memory consumption.  Node.exe seems to be consistently around 500-700mb of RAM!.  I did find this post which helps explain what is going on.",{},"\u002Farticles\u002Fnode-js-server-side-javascript-process-consuming-too-much-memory",{"title":134,"description":332},"articles\u002Fnode-js-server-side-javascript-process-consuming-too-much-memory",[338,339],"visualstudio","node","tfPFLFfbdUgW8RNm41oUcBHq_jakGfUAHcj1hY7w06Y",{"id":342,"title":343,"author":7,"body":344,"createdAt":455,"description":456,"extension":108,"img":457,"meta":458,"navigation":110,"path":459,"seo":460,"stem":461,"tags":462,"updatedAt":455,"__hash__":464},"articles\u002Farticles\u002Fkeep-nuget-packages-out-of-tfs-source-control.md","Keep Nuget Packages Out of TFS (Source Control)",{"type":9,"value":345,"toc":453},[346,357,360,363,366,369,406,409,412,415,418,421,431,434,442,450],[12,347,348],{},[19,349,351],{"style":317,"href":350},"\u002Farticles\u002Fimages\u002Fopen-live-writer-keep-nuget-packages-out-of-tfs-source-co_8714-tfs3_2.png",[67,352],{"style":321,"title":353,"src":354,"alt":353,"width":355,"height":356,"border":74},"tfs3","\u002Farticles\u002Fimagesopen-live-writer-keep-nuget-packages-out-of-tfs-source-co_8714-tfs3_thumb.png",240,135,[12,358,359],{},"Historically, we had kept our Nuget packages in Team Foundation Server (version control). Due to the recent consistency and stability of Nuget I am starting to move towards excluding Nuget packages from TFS Source control. They just are not required anymore and Visual Studio can very quickly restore from the internet packages locally on your workstation\u002Fbuild server very quickly now.",[12,361,362],{},"So, how do we setup both Visual Studio and TFS to stop putting packages in TFS? Donovan Brown published a post describing the steps.",[12,364,365],{},"a) At the solution level (at same location where your sln file is located) create a folder named .nuget (do this from within Source Control Explorer)",[12,367,368],{},"b) Create a file named nuget.config and put this within the .nuget folder. This file should have the following content.",[144,370,374],{"className":371,"code":372,"language":373,"meta":104,"style":104},"language-xml shiki shiki-themes github-light github-dark","\u003C?xml version=\"1.0\" encoding=\"utf-8\"?>\n\u003Cconfiguration> \n    \u003Csolution> \n        \u003Cadd key=\"disableSolutionControlIntegration\" value=\"true\">\u003C\u002Fadd>\n    \u003C\u002Fsolution>\n\u003C\u002Fconfiguration>\n","xml",[150,375,376,381,386,391,396,401],{"__ignoreMap":104},[153,377,378],{"class":155,"line":156},[153,379,380],{},"\u003C?xml version=\"1.0\" encoding=\"utf-8\"?>\n",[153,382,383],{"class":155,"line":51},[153,384,385],{},"\u003Cconfiguration> \n",[153,387,388],{"class":155,"line":172},[153,389,390],{},"    \u003Csolution> \n",[153,392,393],{"class":155,"line":188},[153,394,395],{},"        \u003Cadd key=\"disableSolutionControlIntegration\" value=\"true\">\u003C\u002Fadd>\n",[153,397,398],{"class":155,"line":199},[153,399,400],{},"    \u003C\u002Fsolution>\n",[153,402,403],{"class":155,"line":205},[153,404,405],{},"\u003C\u002Fconfiguration>\n",[12,407,408],{},"c) Create a file .tfignore and put at the solution level also. Within this text file put a single word packages",[12,410,411],{},"So at this point, you have a directory .nuget with the nuget.config file within it, and also a text file .tfignore at the solution level. Remove any packages that have been put in source control previously and check in.",[12,413,414],{},"At this point, close Visual Studio and restart.",[12,416,417],{},"Build the solution locally and all should be good, do a check in and if everything is good the packages folder is not checked in. Tada Essentially, we are putting things in place to tell Visual Studio not to check in packages AND we are telling TFS not to check in the packages folder.\nBoth the config file and the .tfignore files are needed.",[12,419,420],{},"My solution folder looks like",[12,422,423],{},[19,424,426],{"href":425},"\u002Farticles\u002Fimages\u002Fopen-live-writer-keep-nuget-packages-out-of-tfs-source-co_8714-image_2.png",[67,427],{"style":321,"title":70,"src":428,"alt":70,"width":429,"height":430,"border":74},"\u002Farticles\u002Fimages\u002Fopen-live-writer-keep-nuget-packages-out-of-tfs-source-co_8714-image_thumb.png",436,104,[12,432,433],{},"Reference:",[12,435,436,439],{},[19,437],{"title":438,"href":438},"http:\u002F\u002Fdonovanbrown.com\u002Fpost\u002FHow-to-keep-packages-folder-out-of-TFVC",[19,440,438],{"href":438,"rel":441},[84],[12,443,444,447],{},[19,445],{"title":446,"href":446},"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=BfKcTX8NxAQ",[19,448,446],{"href":446,"rel":449},[84],[326,451,452],{},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":104,"searchDepth":51,"depth":51,"links":454},[],"2017-02-24T07:48:53.130Z","Historically, we had kept our Nuget packages in Team Foundation Server (version control).  Due to the recent consistency and stability of Nuget I am starting to move towards excluding Nuget packages from TFS Source control.  They just are not required anymore and Visual Studio can very quickly restore from the internet packages locally on your workstation\u002Fbuild server very quickly now.","\u002Farticles\u002Fimages\u002Fopen-live-writer-keep-nuget-packages-out-of-tfs-source-co_8714-tfs3_thumb.png",{},"\u002Farticles\u002Fkeep-nuget-packages-out-of-tfs-source-control",{"title":343,"description":456},"articles\u002Fkeep-nuget-packages-out-of-tfs-source-control",[463],"teamfoundationserver","7RYOC6n0dlrpGmS5Zj2PwVk1brKlHnvXsy7VkN0m97w",1781574770291]