{"id":56895,"date":"2026-01-27T16:43:11","date_gmt":"2026-01-27T16:43:11","guid":{"rendered":"https:\/\/www.roger-pearse.com\/weblog\/?p=56895"},"modified":"2026-01-27T16:43:11","modified_gmt":"2026-01-27T16:43:11","slug":"visual-studio-community-edition-and-the-quicklatin-source-code","status":"publish","type":"post","link":"https:\/\/roger-pearse.com\/weblog\/2026\/01\/27\/visual-studio-community-edition-and-the-quicklatin-source-code\/","title":{"rendered":"Visual Studio Community Edition and the QuickLatin source code"},"content":{"rendered":"<p align=\"justify\">Although I no longer sell the QuickLatin parser, it still exists.\u00a0 I use it myself, and I still work on it from time to time, adding additional meaning or syntax information.\u00a0 When I discovered that first declension neuter nouns existed, like &#8220;pascha&#8221;, I wondered whether these were in the dictionary files.\u00a0 They were not.\u00a0 So I started to wonder how to add them.\u00a0 For it has been a while since I worked on it, and I could not even remember how the dictionary files were generated!\u00a0 This led me to poke into the code.<\/p>\n<p align=\"justify\">Currently QuickLatin exists in a Visual Studio 2010 Ultimate project.\u00a0 I used this because it gave me code coverage, which I greatly miss otherwise.\u00a0 Curiously Microsoft never made this elementary tool available unless you bought the &#8220;enterprise&#8221; version of Visual Studio.\u00a0 These are hideously expensive, so I made do with a second-hand copy of a long-outdated version.<\/p>\n<p align=\"justify\">Yesterday I discovered that Microsoft had added a &#8220;Community&#8221; edition to recent versions of Visual Studio.\u00a0 This, designed for one-man developers like myself, has the right licensing, and is free.\u00a0 But I did not know that today it also includes code coverage, as it does.<\/p>\n<p align=\"justify\">So yesterday I downloaded Visual Studio 2026 Community Edition, and started trying to set it up to work with unit tests and code coverage.\u00a0 I created a &#8220;noddy&#8221; solution and projects, for I have long experience of how dreadful it can be to get started with Microsoft&#8217;s premier development tool.\u00a0 Nor was I wrong.\u00a0 It was simply hideous to work with, and I nearly abandoned it.\u00a0 The main project would not work with the unit test project, giving odd errors of subtly different versions of .Net.<\/p>\n<p align=\"justify\">Eventually I deinstalled, and tried again, this time with .Net 8.0.\u00a0 I found a page showing <a href=\"https:\/\/learn.microsoft.com\/en-us\/visualstudio\/test\/getting-started-with-unit-testing?toc=%2Fvisualstudio%2Fget-started%2Fvisual-basic%2Ftoc.json&amp;bc=%2Fvisualstudio%2Fget-started%2Fvisual-basic%2Fbreadcrumb%2Ftoc.json&amp;view=visualstudio&amp;tabs=dotnet%2Cmstest\">how to get unit testing working in Visual Studio using C#<\/a>, and it did work.\u00a0 Then I redid it in Visual Basic, and that worked too.\u00a0 The experience was bad enough that I actually <a href=\"https:\/\/github.com\/rogerpearse\/VB2026HelloWorldSolution\/blob\/master\/How%20to%20create%20our%20VB2026%20noddy%20project%20with%20unit%20tests%20and%20coverage%20starting%20from%20nothing.docx\">documented the whole thing in a .docx file with screenshots<\/a> and uploaded a noddy project with full details to <a href=\"https:\/\/github.com\/rogerpearse\/VB2026HelloWorldSolution\">GitHub here<\/a>.\u00a0 This may be useful to others &#8211; but with my forgetfulness, one day I might need it!\u00a0 It is beyond me how any newcomer can start out and expect this to work tho.<\/p>\n<p align=\"justify\">Microsoft put other barriers in the way.\u00a0 When you download the installer, it&#8217;s a trivial little thing.\u00a0 But I don&#8217;t want to rely on the existence of Microsoft&#8217;s servers if I need to reinstall.\u00a0 So I need a proper offline installation.\u00a0 Microsoft don&#8217;t make that available.\u00a0 Instead you have to download a special tool named vs_community.exe and run it at the command line to pull down all the installation packages and create a directory full of what you need, which you can turn into an ISO.\u00a0 This I did today, and the resulting directory was 80 gigabytes in size.\u00a0 Talk about bloatware!\u00a0 But anyway, I have it.<\/p>\n<p align=\"justify\">So I haven&#8217;t achieved anything, except that it looks as if I can abandon Visual Studio 2010 at long last.\u00a0 It will be a bit of work to do, but certainly worthwhile.\u00a0 This will allow me to reorganise the code, and particularly the code that handles the database of dictionary endings etc.\u00a0 That is, it will if I don&#8217;t get distracted!\u00a0 For I need some clear days of work.\u00a0 Tomorrow I have something else to do, but soon, I hope.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Although I no longer sell the QuickLatin parser, it still exists.\u00a0 I use it myself, and I still work on it from time to time, adding additional meaning or syntax<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"advanced_seo_description":"","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"jetpack_seo_schema_type":"","_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_awef_post_faq_schema":[],"_jetpack_hide_featured_image":false,"_jetpack_featured_image_duplicate_dismissed":0,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[19],"tags":[471,1743],"class_list":["post-56895","post","type-post","status-publish","format-standard","hentry","category-from-my-diary-announcements","tag-computing","tag-visual-basic"],"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/roger-pearse.com\/weblog\/wp-json\/wp\/v2\/posts\/56895","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/roger-pearse.com\/weblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/roger-pearse.com\/weblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/roger-pearse.com\/weblog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/roger-pearse.com\/weblog\/wp-json\/wp\/v2\/comments?post=56895"}],"version-history":[{"count":0,"href":"https:\/\/roger-pearse.com\/weblog\/wp-json\/wp\/v2\/posts\/56895\/revisions"}],"wp:attachment":[{"href":"https:\/\/roger-pearse.com\/weblog\/wp-json\/wp\/v2\/media?parent=56895"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/roger-pearse.com\/weblog\/wp-json\/wp\/v2\/categories?post=56895"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/roger-pearse.com\/weblog\/wp-json\/wp\/v2\/tags?post=56895"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}