{"id":2439,"date":"2016-11-18T15:00:00","date_gmt":"2016-11-18T15:00:00","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=2439"},"modified":"2025-10-09T06:35:58","modified_gmt":"2025-10-09T13:35:58","slug":"net-core-with-visual-studio-code","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/pt\/net-core-with-visual-studio-code\/","title":{"rendered":".NET Core com o Visual Studio Code"},"content":{"rendered":"<div id=\"preamble\">\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Jeff Morris j\u00e1 escreveu um excelente <a href=\"https:\/\/www.couchbase.com\/blog\/pt\/introducing-couchbase-.net-sdk-core-2.4.0-dp1\/\">publica\u00e7\u00e3o no blog para apresentar o SDK do Couchbase .NET Core<\/a>que agora est\u00e1 na visualiza\u00e7\u00e3o para desenvolvedores.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Vou mostrar a voc\u00ea algumas das ferramentas que estou usando para escrever o .NET Core no Windows: <span style=\"font-weight: 400\">Visual Studio Code com NuGet e outras extens\u00f5es<\/span>.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"truegetting-started\">Primeiros passos<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Aqui est\u00e1 o que estou usando no Windows, mas observe que isso n\u00e3o deve ser muito diferente no Mac ou no Linux!<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>Instalar <a href=\"https:\/\/www.microsoft.com\/net\/core#windowscmd\">.NET Core<\/a><\/li>\n<li>Instalar <a href=\"https:\/\/code.visualstudio.com\/\">C\u00f3digo do Visual Studio<\/a> (VSC) - isso \u00e9 opcional, mas \u00e9 uma \u00f3tima ferramenta e \u00e9 gratuita!<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>Depois de instalar o Visual Studio Code, recomendo que voc\u00ea instale essas extens\u00f5es:<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li><a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=ms-vscode.csharp\">C# (desenvolvido pela OmniSharp)<\/a> - Isso lhe dar\u00e1 alguns dos recursos normais do C# que voc\u00ea espera se j\u00e1 tiver usado o Visual Studio com o .Net Core antes: realce de sintaxe, IntelliSense e assim por diante.<\/li>\n<li><a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=ksubedi.net-core-project-manager\">Gerente de projetos NuGet do .Net Core<\/a><\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>Voc\u00ea pode instalar essas extens\u00f5es diretamente no Visual Studio Code usando a interface do usu\u00e1rio, ou pode usar <strong>Ctrl+P<\/strong> e, em seguida, digite <code>ext install net-core-project-manager<\/code> ou <code>ext install csharp<\/code>. Manter <strong>Ctrl+P<\/strong> em sua mente, pois quando tiver o NuGet Project Manager instalado, voc\u00ea tamb\u00e9m o usar\u00e1 para instalar o <span style=\"font-weight: 400\">um pacote NuGet no Visual Studio Code<\/span>.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"truelet-s-write-some-code\">Vamos escrever um c\u00f3digo<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Use o Powershell ou o CMD para criar uma pasta de projeto. Quando voc\u00ea estiver l\u00e1:<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><code>dotnet new<\/code><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Isso criar\u00e1 alguns arquivos: <code>Program.cs<\/code> e <code>project.json<\/code>.<\/p>\n<\/div>\n<div class=\"imageblock\">\n<div class=\"content\"><img decoding=\"async\" src=\"\/wp-content\/original-assets\/2016\/november\/.net-core-with-visual-studio-code\/039dotnetnew.png\" alt=\"Running dotnet new to create a new .NET Core project\" \/><\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>Em seguida, para obter as depend\u00eancias listadas em <code>project.json<\/code>, execute outro comando:<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><code>restaura\u00e7\u00e3o do dotnet<\/code><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Agora voc\u00ea pode notar uma <code>project.lock.json<\/code> arquivo. Ele \u00e9 gerado pelo NuGet para calcular o gr\u00e1fico de depend\u00eancias. N\u00e3o \u00e9 necess\u00e1rio confirm\u00e1-lo no reposit\u00f3rio de c\u00f3digo-fonte, e eu o omiti do c\u00f3digo-fonte do meu exemplo.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Agora, vou abrir essa pasta no Visual Studio Code, executando:<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><code>c\u00f3digo .<\/code><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Nesse ponto, o projeto est\u00e1 pronto para ser executado. Voc\u00ea pode voltar ao Powershell\/CMD, se desejar, ou pode usar <strong>Ctrl+`<\/strong> para usar o <strong>Terminal integrado<\/strong> dentro do VSC. Para executar o programa:<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><code>execu\u00e7\u00e3o do dotnet<\/code><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Se voc\u00ea executasse isso agora, receberia um \"Hello World\". Vamos adicionar um pouco de Couchbase a esse projeto. <strong>Ctrl+P<\/strong>e, em seguida, digite \"&gt;nuget\" at\u00e9 que a op\u00e7\u00e3o \"Add New Package\" seja exibida. Digite um termo de pesquisa, como \"couchbase\". O \"CouchbaseNetClient\" deve aparecer na lista. Selecione-o e, em seguida, voc\u00ea poder\u00e1 selecionar uma vers\u00e3o.<\/p>\n<\/div>\n<div class=\"imageblock\">\n<div class=\"content\"><img decoding=\"async\" src=\"\/wp-content\/original-assets\/2016\/november\/.net-core-with-visual-studio-code\/039nugetvsc.png\" alt=\"Using NuGet to install the Couchbase .NET Core SDK\" \/><\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>Atualmente, para o .NET Core, voc\u00ea precisar\u00e1 selecionar 2.4.0-dp2, pois o suporte ao .NET Core ainda \u00e9 uma \"pr\u00e9via para desenvolvedores\".<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Depois de adicionar isso ao seu projeto, o trabalho com o SDK do .NET Core dever\u00e1 ser familiar para voc\u00ea se j\u00e1 tiver usado o SDK do .NET. Dentro da se\u00e7\u00e3o <code>Principal<\/code> veja como se conectar a um cluster e configurar um bucket:<\/p>\n<\/div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlightjs highlight\"><code class=\"language-C#\">\/\/ connect to a cluster, get a bucket\r\nClusterHelper.Initialize(new ClientConfiguration {\r\n    Servers = new List { new Uri(\"couchbase:\/\/localhost\")}\r\n});\r\nvar bucket = ClusterHelper.GetBucket(\"default\");<\/code><\/pre>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>Em seguida, estou inserindo um documento \"conta de luz\" usando o objeto bucket. Observe que estou usando o m\u00e9todo Async. De acordo com a publica\u00e7\u00e3o no blog de Jeff, a API s\u00edncrona pode estar desaparecendo, portanto, estou tentando me acostumar com a API ass\u00edncrona. Estou usando <code>Task.WaitAll<\/code>portanto, ele ainda est\u00e1 sendo executado de forma s\u00edncrona para os fins deste aplicativo de console de amostra.<\/p>\n<\/div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlightjs highlight\"><code class=\"language-C#\">\/\/ insert a document with some random values\r\nvar document = new Document {\r\n    Id = Guid.NewGuid().ToString(),\r\n    Content = new {\r\n        invoiceNumber = Path.GetRandomFileName(),\r\n        amountDue = new Random().Next(10,300),\r\n        type = \"electricbill\"\r\n    }\r\n};\r\nTask.WaitAll(bucket.InsertAsync(document)); \/\/ wait for async method to finish\r\nConsole.WriteLine(\"New electric bill created.\");\r\nConsole.WriteLine();<\/code><\/pre>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>Em seguida, estou executando uma consulta N1QL parametrizada com <a href=\"https:\/\/www.couchbase.com\/blog\/pt\/new-to-couchbase-4.5-atplus\/\">Consist\u00eancia do RequestPlus<\/a> para listar todas as contas de energia el\u00e9trica.<\/p>\n<\/div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlightjs highlight\"><code class=\"language-C#\">\/\/ get all electric bills with N1QL and list them\r\nvar query = Couchbase.N1QL.QueryRequest.Create(\"SELECT b.* FROM `default` b WHERE type = $1\");\r\nquery.AddPositionalParameter(\"electricbill\");\r\nquery.ScanConsistency(ScanConsistency.RequestPlus);\r\nvar result = bucket.QueryAsync(query).Result;  \/\/ calling QueryAsync synchronously<\/code><\/pre>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>Novamente, isso est\u00e1 usando a API Async, mas como estou chamando <code>Resultado<\/code>\u00c9 funcionalmente s\u00edncrono. Por fim, com base nos resultados da consulta N1QL, estou enviando informa\u00e7\u00f5es de erro ou fazendo um loop pelos resultados e gravando-os no console.<\/p>\n<\/div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlightjs highlight\"><code class=\"language-C#\">Console.WriteLine(\"Success: \" + result.Success);\r\nif(!result.Success) {\r\n    Console.WriteLine(\"Message: \" + result.Message);\r\n    Console.WriteLine(\"Exception: \" + result.Exception?.GetType().Name);\r\n    Console.WriteLine(\"Exception Message: \" + result?.Exception?.Message);\r\n    result.Errors.ForEach(e =&gt; Console.WriteLine(\"Error: \" + e?.Message));\r\n    return;\r\n}\r\n\r\nConsole.WriteLine();\r\nConsole.WriteLine(\"Bills:\");\r\nConsole.WriteLine(\"------\");\r\nforeach(var bill in result.Rows) {\r\n    Console.WriteLine($\"{bill.invoiceNumber} - {bill.amountDue.ToString(\"C\")}\");\r\n}<\/code><\/pre>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>Quando eu executar esse programa, ele criar\u00e1 um novo documento (a cada vez) e listar\u00e1 todos os documentos criados cumulativamente.<\/p>\n<\/div>\n<div class=\"imageblock\">\n<div class=\"content\"><img decoding=\"async\" src=\"\/wp-content\/original-assets\/2016\/november\/.net-core-with-visual-studio-code\/039dotnetrun.png\" alt=\"Running .NET Core project using Couchbase\" \/><\/div>\n<\/div>\n<div class=\"paragraph\">\n<p><em>Observa\u00e7\u00e3o: se estiver tendo problemas para come\u00e7ar a usar o Couchbase Server, ou se estiver recebendo erros, especialmente em rela\u00e7\u00e3o \u00e0 indexa\u00e7\u00e3o N1QL, talvez queira revisitar algumas das minhas postagens do blog \"Getting Started\" (Introdu\u00e7\u00e3o):<\/em> <a href=\"https:\/\/www.couchbase.com\/blog\/pt\/couchbase-with-windows-and-.net---part-1\/\">Couchbase com Windows Parte 1<\/a> <em>e<\/em> <a href=\"https:\/\/www.couchbase.com\/blog\/pt\/couchbase-with-windows-and-.net---part-2\/\">Couchbase com Windows Parte 2<\/a> <em>em particular<\/em>.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"truewhat-s-different\">O que h\u00e1 de diferente?<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Na maior parte do tempo, isso \u00e9 muito parecido com trabalhar com o Visual Studio e o .NET completos. O Visual Studio Code ainda n\u00e3o tem recursos t\u00e3o completos, mas j\u00e1 possui uma grande biblioteca de extens\u00f5es. Para os desenvolvedores do Couchbase, trabalhar com o .NET Core SDK \u00e9 praticamente id\u00eantico.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Um aspecto com o qual pode levar algum tempo para se acostumar \u00e9 a falta do ReSharper. N\u00e3o sei se o ReSharper vir\u00e1 para o VSC (a JetBrains tem seu pr\u00f3prio IDE C# leve chamado <a href=\"https:\/\/www.jetbrains.com\/rider\/\">Cavaleiro<\/a>). Tenho o h\u00e1bito de usar <strong>Alt+Enter<\/strong> para adicionar <code>usando<\/code> e esse mesmo atalho de teclado n\u00e3o funciona no VSC (por padr\u00e3o). As l\u00e2mpadas de refatora\u00e7\u00e3o ainda aparecem, e aqui est\u00e3o os namespaces para o registro:<\/p>\n<\/div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlightjs highlight\"><code class=\"language-C#\">usando System;\r\nusing System.Collections.Generic;\r\nusing System.IO;\r\nusing System.Threading.Tasks;\r\nusing Couchbase;\r\nusing Couchbase.Configuration.Client; using Couchbase.Configuration.Client;\r\nusing Couchbase.N1QL;<\/code><\/pre>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>Tamb\u00e9m \u00e9 um pouco estranho criar um projeto com <code>dotnet new<\/code> em vez de File\u2192New, mas isso \u00e9 algo com o qual posso me acostumar.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"truesummary\">Resumo<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Mesmo que n\u00e3o planeje escrever c\u00f3digo .NET Core ainda, voc\u00ea deve dar uma olhada no Visual Studio Code. Ele \u00e9 um \u00f3timo editor de texto, se n\u00e3o houver mais nada. Se voc\u00ea estiver escrevendo .NET com o Couchbase, a parte do Couchbase da sua transi\u00e7\u00e3o para o .NET Core deve ser tranquila (sua milhagem pode variar ao se acostumar com as novas ferramentas do .NET Core).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><a href=\"https:\/\/github.com\/couchbaselabs\/blog-source-code\/tree\/master\/Groves\/039DotNetCore\/src\">O c\u00f3digo-fonte completo desse exemplo do .NET Core usando o Couchbase est\u00e1 dispon\u00edvel no GitHub<\/a>.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Do que voc\u00ea gosta ou n\u00e3o gosta no VSC e no .NET Core? Deixe um coment\u00e1rio abaixo ou me informe no Twitter. Eu sou <a href=\"https:\/\/twitter.com\/mgroves\">@mgroves<\/a>. Se voc\u00ea estiver tendo problemas com o .NET, o .NET Core ou o Couchbase Server, estou aqui para ajud\u00e1-lo.<\/p>\n<\/div>\n<\/div>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>Jeff Morris already wrote a great blog post to introduce the Couchbase .NET Core SDK, which is now in developer preview. I\u2019m going to show you some of the tooling that I\u2019m using to write .NET Core on Windows: Visual [&hellip;]<\/p>","protected":false},"author":71,"featured_media":13873,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1811,1816,1812],"tags":[1764],"ppma_author":[8937],"class_list":["post-2439","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dotnet","category-couchbase-server","category-n1ql-query","tag-visual-studio-code"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.2 (Yoast SEO v26.2) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>.NET Core on Windows: Visual Studio Code with NuGet<\/title>\n<meta name=\"description\" content=\"Find out how to use some of the tooling that Couchbase is using to write .NET Core on Windows: Visual Studio Code with NuGet and other extensions.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.couchbase.com\/blog\/pt\/net-core-with-visual-studio-code\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\".NET Core with Visual Studio Code\" \/>\n<meta property=\"og:description\" content=\"Find out how to use some of the tooling that Couchbase is using to write .NET Core on Windows: Visual Studio Code with NuGet and other extensions.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/pt\/net-core-with-visual-studio-code\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2016-11-18T15:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-10-09T13:35:58+00:00\" \/>\n<meta name=\"author\" content=\"Matthew Groves\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@mgroves\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Matthew Groves\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/net-core-with-visual-studio-code\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/net-core-with-visual-studio-code\/\"},\"author\":{\"name\":\"Matthew Groves\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/3929663e372020321b0152dc4fa65a58\"},\"headline\":\".NET Core with Visual Studio Code\",\"datePublished\":\"2016-11-18T15:00:00+00:00\",\"dateModified\":\"2025-10-09T13:35:58+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/net-core-with-visual-studio-code\/\"},\"wordCount\":907,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/net-core-with-visual-studio-code\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"keywords\":[\"Visual Studio Code\"],\"articleSection\":[\".NET\",\"Couchbase Server\",\"SQL++ \/ N1QL Query\"],\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/net-core-with-visual-studio-code\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/net-core-with-visual-studio-code\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/net-core-with-visual-studio-code\/\",\"name\":\".NET Core on Windows: Visual Studio Code with NuGet\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/net-core-with-visual-studio-code\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/net-core-with-visual-studio-code\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"datePublished\":\"2016-11-18T15:00:00+00:00\",\"dateModified\":\"2025-10-09T13:35:58+00:00\",\"description\":\"Find out how to use some of the tooling that Couchbase is using to write .NET Core on Windows: Visual Studio Code with NuGet and other extensions.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/net-core-with-visual-studio-code\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/net-core-with-visual-studio-code\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/net-core-with-visual-studio-code\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"width\":1800,\"height\":630},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/net-core-with-visual-studio-code\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\".NET Core with Visual Studio Code\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"name\":\"The Couchbase Blog\",\"description\":\"Couchbase, the NoSQL Database\",\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"width\":218,\"height\":34,\"caption\":\"The Couchbase Blog\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/3929663e372020321b0152dc4fa65a58\",\"name\":\"Matthew Groves\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/ba51e6aacc53995c323a634e4502ef54\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/70feb1b28a099ad0112b8d21fe1e81e1a4524beed3e20b7f107d5370e85a07ab?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/70feb1b28a099ad0112b8d21fe1e81e1a4524beed3e20b7f107d5370e85a07ab?s=96&d=mm&r=g\",\"caption\":\"Matthew Groves\"},\"description\":\"Matthew D. Groves is a guy who loves to code. It doesn't matter if it's C#, jQuery, or PHP: he'll submit pull requests for anything. He has been coding professionally ever since he wrote a QuickBASIC point-of-sale app for his parent's pizza shop back in the 90s. He currently works as a Senior Product Marketing Manager for Couchbase. His free time is spent with his family, watching the Reds, and getting involved in the developer community. He is the author of AOP in .NET, Pro Microservices in .NET, a Pluralsight author, and a Microsoft MVP.\",\"sameAs\":[\"https:\/\/crosscuttingconcerns.com\",\"https:\/\/x.com\/mgroves\"],\"url\":\"https:\/\/www.couchbase.com\/blog\/pt\/author\/matthew-groves\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":".NET Core on Windows: Visual Studio Code with NuGet","description":"Find out how to use some of the tooling that Couchbase is using to write .NET Core on Windows: Visual Studio Code with NuGet and other extensions.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.couchbase.com\/blog\/pt\/net-core-with-visual-studio-code\/","og_locale":"pt_BR","og_type":"article","og_title":".NET Core with Visual Studio Code","og_description":"Find out how to use some of the tooling that Couchbase is using to write .NET Core on Windows: Visual Studio Code with NuGet and other extensions.","og_url":"https:\/\/www.couchbase.com\/blog\/pt\/net-core-with-visual-studio-code\/","og_site_name":"The Couchbase Blog","article_published_time":"2016-11-18T15:00:00+00:00","article_modified_time":"2025-10-09T13:35:58+00:00","author":"Matthew Groves","twitter_card":"summary_large_image","twitter_creator":"@mgroves","twitter_misc":{"Written by":"Matthew Groves","Est. reading time":"5 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/net-core-with-visual-studio-code\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/net-core-with-visual-studio-code\/"},"author":{"name":"Matthew Groves","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/3929663e372020321b0152dc4fa65a58"},"headline":".NET Core with Visual Studio Code","datePublished":"2016-11-18T15:00:00+00:00","dateModified":"2025-10-09T13:35:58+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/net-core-with-visual-studio-code\/"},"wordCount":907,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/net-core-with-visual-studio-code\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","keywords":["Visual Studio Code"],"articleSection":[".NET","Couchbase Server","SQL++ \/ N1QL Query"],"inLanguage":"pt-BR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/net-core-with-visual-studio-code\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/net-core-with-visual-studio-code\/","url":"https:\/\/www.couchbase.com\/blog\/net-core-with-visual-studio-code\/","name":".NET Core on Windows: Visual Studio Code with NuGet","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/net-core-with-visual-studio-code\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/net-core-with-visual-studio-code\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","datePublished":"2016-11-18T15:00:00+00:00","dateModified":"2025-10-09T13:35:58+00:00","description":"Find out how to use some of the tooling that Couchbase is using to write .NET Core on Windows: Visual Studio Code with NuGet and other extensions.","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/net-core-with-visual-studio-code\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/net-core-with-visual-studio-code\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/net-core-with-visual-studio-code\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","width":1800,"height":630},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/net-core-with-visual-studio-code\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":".NET Core with Visual Studio Code"}]},{"@type":"WebSite","@id":"https:\/\/www.couchbase.com\/blog\/#website","url":"https:\/\/www.couchbase.com\/blog\/","name":"Blog do Couchbase","description":"Couchbase, o banco de dados NoSQL","publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"Blog do Couchbase","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","width":218,"height":34,"caption":"The Couchbase Blog"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/3929663e372020321b0152dc4fa65a58","name":"Matthew Groves","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/ba51e6aacc53995c323a634e4502ef54","url":"https:\/\/secure.gravatar.com\/avatar\/70feb1b28a099ad0112b8d21fe1e81e1a4524beed3e20b7f107d5370e85a07ab?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/70feb1b28a099ad0112b8d21fe1e81e1a4524beed3e20b7f107d5370e85a07ab?s=96&d=mm&r=g","caption":"Matthew Groves"},"description":"Matthew D. Groves \u00e9 um cara que adora programar. N\u00e3o importa se \u00e9 C#, jQuery ou PHP: ele enviar\u00e1 solicita\u00e7\u00f5es de pull para qualquer coisa. Ele tem programado profissionalmente desde que escreveu um aplicativo de ponto de venda QuickBASIC para a pizzaria de seus pais nos anos 90. Atualmente, ele trabalha como gerente s\u00eanior de marketing de produtos da Couchbase. Seu tempo livre \u00e9 passado com a fam\u00edlia, assistindo aos Reds e participando da comunidade de desenvolvedores. Ele \u00e9 autor de AOP in .NET, Pro Microservices in .NET, autor da Pluralsight e Microsoft MVP.","sameAs":["https:\/\/crosscuttingconcerns.com","https:\/\/x.com\/mgroves"],"url":"https:\/\/www.couchbase.com\/blog\/pt\/author\/matthew-groves\/"}]}},"authors":[{"term_id":8937,"user_id":71,"is_guest":0,"slug":"matthew-groves","display_name":"Matthew Groves","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/70feb1b28a099ad0112b8d21fe1e81e1a4524beed3e20b7f107d5370e85a07ab?s=96&d=mm&r=g","author_category":"","last_name":"Groves","first_name":"Matthew","job_title":"","user_url":"https:\/\/crosscuttingconcerns.com","description":"Matthew D. Groves \u00e9 um cara que adora programar.  N\u00e3o importa se \u00e9 C#, jQuery ou PHP: ele enviar\u00e1 solicita\u00e7\u00f5es de pull para qualquer coisa.  Ele tem programado profissionalmente desde que escreveu um aplicativo de ponto de venda QuickBASIC para a pizzaria de seus pais nos anos 90.  Atualmente, ele trabalha como gerente s\u00eanior de marketing de produtos da Couchbase. Seu tempo livre \u00e9 passado com a fam\u00edlia, assistindo aos Reds e participando da comunidade de desenvolvedores.  Ele \u00e9 autor de AOP in .NET, Pro Microservices in .NET, autor da Pluralsight e Microsoft MVP."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/2439","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/users\/71"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/comments?post=2439"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/2439\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/media\/13873"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/media?parent=2439"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/categories?post=2439"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/tags?post=2439"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/ppma_author?post=2439"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}