{"id":145,"date":"2025-07-02T22:02:05","date_gmt":"2025-07-02T22:02:05","guid":{"rendered":"https:\/\/codefornoobs.pt\/?p=145"},"modified":"2025-07-02T22:02:06","modified_gmt":"2025-07-02T22:02:06","slug":"como-melhorar-facilmente-a-reutilizacao-de-codigo-com-nugets","status":"publish","type":"post","link":"https:\/\/codefornoobs.pt\/?p=145","title":{"rendered":"Como melhorar facilmente a reutiliza\u00e7\u00e3o de c\u00f3digo com nugets"},"content":{"rendered":"\n<p>Existem diferentes maneiras de efetuar uma boa reutiliza\u00e7\u00e3o de c\u00f3digo. Quando temos uma classe, ou conjunto de classes, que utilizamos muitas vezes, em muitos projetos, uma boa op\u00e7\u00e3o ser\u00e1 transformar essas classes num projecto e utilizar como se fosse um <a href=\"https:\/\/learn.microsoft.com\/pt-pt\/nuget\/what-is-nuget\" target=\"_blank\" rel=\"noopener\" title=\"O que \u00e9 um nuget?\">nuget<\/a>. Desta forma, vou explicar como podemos adicionar um reposit\u00f3rio nuget nosso. Podemos criar um reposit\u00f3rio publico onde qualquer pessoa, por exemplo, atrav\u00e9s de um URL pode adicionar aos seus reposit\u00f3rios. Alternativamente, podemos criar um simples reposit\u00f3rio privado que podemos usar localmente em qualquer um dos nossos projetos. <\/p>\n\n\n\n<p>A forma mais simples de criar um reposit\u00f3rio privado \u00e9 usando apenas uma pasta onde colocamos os reposit\u00f3rios nuget que vamos criando. Podes aprender como criar um nuget e como publicar num reposit\u00f3rio, aqui. Veremos como podemos adicionar novos reposit\u00f3rios nuget al\u00e9m do reposit\u00f3rio geral, disponibilizado por defeito. Vou mostrar como fazer tanto no Visual Studio, como no Rider.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Visual Studio<\/h2>\n\n\n\n<p>No Visual Studio come\u00e7amos por abrir a gest\u00e3o dos nuget para a <em>Solution<\/em>. De seguida, carregamos com o lado direito do rato por cima na Solution, no menu Solution Explorer, Depois escolhemos a op\u00e7\u00e3o <em>Manage Nuget Packages for Solution<\/em>, como podem ver na imagem que se segue.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"397\" height=\"336\" src=\"https:\/\/codefornoobs.pt\/wp-content\/uploads\/2023\/01\/Abrir-nuget-packages-for-solution.png\" alt=\"Abrir Nuget Packages da Solution\" class=\"wp-image-146\" srcset=\"https:\/\/codefornoobs.pt\/wp-content\/uploads\/2023\/01\/Abrir-nuget-packages-for-solution.png 397w, https:\/\/codefornoobs.pt\/wp-content\/uploads\/2023\/01\/Abrir-nuget-packages-for-solution-300x254.png 300w\" sizes=\"auto, (max-width: 397px) 100vw, 397px\" \/><figcaption class=\"wp-element-caption\">Abrir Nuget Packages da Solution<\/figcaption><\/figure>\n<\/div>\n\n\n<p>Em seguida, ap\u00f3s abertura da gest\u00e3o dos nugets, carregamos na roldana que se econtra no canto superior direito para abrir as op\u00e7\u00f5es. Depois procurarmos por <em>Nuget Package Manager<\/em> e no submenu <em>Package Sources<\/em> carregamos no mais verde que vemos na p\u00e1gina para adicionar a nova fonte de dados para nugets. No <em>Name<\/em> metemos um nome que nos ajude identificar o reposit\u00f3rio e na <em>Source<\/em> metemos a localiza\u00e7\u00e3o do nuget. <\/p>\n\n\n\n<p>Neste caso, como estamos apenas a usar uma pasta, basta colocar a localiza\u00e7\u00e3o da pasta, mas se for um reposit\u00f3rio publico, por exemplo, podemos tamb\u00e9m colocar um <em>URL<\/em> como vemos no Exemplo do nuget.org. Depois podemos carergar <em>OK<\/em> e o novo reposit\u00f3rio nuget j\u00e1 se enontra dispon\u00edvel para usar.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"609\" src=\"https:\/\/codefornoobs.pt\/wp-content\/uploads\/2023\/01\/local-nuget-print-cs-1024x609.png\" alt=\"Adicionar novo reposit\u00f3rio nuget\" class=\"wp-image-147\" srcset=\"https:\/\/codefornoobs.pt\/wp-content\/uploads\/2023\/01\/local-nuget-print-cs-1024x609.png 1024w, https:\/\/codefornoobs.pt\/wp-content\/uploads\/2023\/01\/local-nuget-print-cs-300x178.png 300w, https:\/\/codefornoobs.pt\/wp-content\/uploads\/2023\/01\/local-nuget-print-cs-768x456.png 768w, https:\/\/codefornoobs.pt\/wp-content\/uploads\/2023\/01\/local-nuget-print-cs-850x505.png 850w, https:\/\/codefornoobs.pt\/wp-content\/uploads\/2023\/01\/local-nuget-print-cs.png 1171w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Adicionar novo reposit\u00f3rio nuget<\/figcaption><\/figure>\n<\/div>\n\n\n<p>Por fim, podemos escolher qual a <em>Source<\/em> a utilizar para procurar pelos nugets. Podemos, por exemplo, colocar para utilizar todos os reposit\u00f3rios, ou ent\u00e3o, podemos escolher apenas um dos reposit\u00f3rios para utilizar.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"681\" height=\"205\" src=\"https:\/\/codefornoobs.pt\/wp-content\/uploads\/2023\/01\/escolher-repositorio-nuget.png\" alt=\"Escolher sources a serem usadas No Visual Studio\" class=\"wp-image-150\" srcset=\"https:\/\/codefornoobs.pt\/wp-content\/uploads\/2023\/01\/escolher-repositorio-nuget.png 681w, https:\/\/codefornoobs.pt\/wp-content\/uploads\/2023\/01\/escolher-repositorio-nuget-300x90.png 300w\" sizes=\"auto, (max-width: 681px) 100vw, 681px\" \/><figcaption class=\"wp-element-caption\">Escolher sources a serem usadas<\/figcaption><\/figure>\n<\/div>\n\n\n<h2 class=\"wp-block-heading\">Rider<\/h2>\n\n\n\n<p>No rider, podemos fazer exatamente a mesma coisa que no Visual Studio, os men\u00fas s\u00e3o apenas ligeiramente diferentes. De forma a adicionar um novo reposit\u00f3rio <em>nuget<\/em>, para come\u00e7ar, temos que ir at\u00e9 ao menu dos nugets, de seguida escolher o submenu <em>Sources<\/em> e preencher a informa\u00e7\u00e3o <em>Name<\/em> e <em>URL<\/em>. O <em>Name<\/em> ser\u00e1 algo intuitivo para identifcar o nosso novo reposit\u00f3rio. <\/p>\n\n\n\n<p>Para este exemplo, escolhi <em>Nuget Local<\/em> e depois basta colocar a localiza\u00e7\u00e3o da pasta que escolhemos para ser o nosso reposit\u00f3rio privado. No caso de ser um reposit\u00f3rio publico, podemos, colocar um <em>URL<\/em> como podemos ver no exemplo do <em>nuger.org.<\/em> Na imagem abaixo, a verde, podemos ver os principais bot\u00f5es necess\u00e1rios para adicionar um novo reposit\u00f3rio \u00e0s nossas sources de nugets.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"354\" src=\"https:\/\/codefornoobs.pt\/wp-content\/uploads\/2023\/01\/Adicionar-nuget-no-Rider-1024x354.png\" alt=\"Adicionar nuget no Rider\" class=\"wp-image-149\" srcset=\"https:\/\/codefornoobs.pt\/wp-content\/uploads\/2023\/01\/Adicionar-nuget-no-Rider-1024x354.png 1024w, https:\/\/codefornoobs.pt\/wp-content\/uploads\/2023\/01\/Adicionar-nuget-no-Rider-300x104.png 300w, https:\/\/codefornoobs.pt\/wp-content\/uploads\/2023\/01\/Adicionar-nuget-no-Rider-768x266.png 768w, https:\/\/codefornoobs.pt\/wp-content\/uploads\/2023\/01\/Adicionar-nuget-no-Rider-850x294.png 850w, https:\/\/codefornoobs.pt\/wp-content\/uploads\/2023\/01\/Adicionar-nuget-no-Rider.png 1098w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Adicionar nuget no Rider<\/figcaption><\/figure>\n<\/div>\n\n\n<p>Para finalizar, podemos escolher quais os reposit\u00f3rios que queremos usar na pesquisa dos <em>nuget<\/em>. Se assim for necess\u00e1rio, podemos escolher apenas um reposit\u00f3rio para pesquisar em qualquer momento. Para tal, basta selecionar ou tirar as <em>checkboxes<\/em> de cada um dos reposit\u00f3rios.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"333\" src=\"https:\/\/codefornoobs.pt\/wp-content\/uploads\/2023\/01\/Select-nuget-sources-Rider-1024x333.png\" alt=\"Escolher sources a serem usadas no Rider\" class=\"wp-image-148\" srcset=\"https:\/\/codefornoobs.pt\/wp-content\/uploads\/2023\/01\/Select-nuget-sources-Rider-1024x333.png 1024w, https:\/\/codefornoobs.pt\/wp-content\/uploads\/2023\/01\/Select-nuget-sources-Rider-300x97.png 300w, https:\/\/codefornoobs.pt\/wp-content\/uploads\/2023\/01\/Select-nuget-sources-Rider-768x250.png 768w, https:\/\/codefornoobs.pt\/wp-content\/uploads\/2023\/01\/Select-nuget-sources-Rider-850x276.png 850w, https:\/\/codefornoobs.pt\/wp-content\/uploads\/2023\/01\/Select-nuget-sources-Rider.png 1074w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Escolher sources a serem usadas<\/figcaption><\/figure>\n<\/div>\n\n\n<p>A utiliza\u00e7\u00e3o de nugets facilita no desenvolvimento de novas funcionalidade e permite fazer uma gest\u00e3o centralizada do c\u00f3digo que \u00e9 partilhado por diversos projetos. Al\u00e9m da vantagem de n\u00e3o ser necess\u00e1rio, andar com ficheiro entre v\u00e1rios projetos, temos a vantagem de cada vers\u00e3o no nuget publicada continuar dispon\u00edvel para reposit\u00f3rios legacy. Finalmente, permite identificar se temos a vers\u00e3o mais atualizada ou n\u00e3o desse nuget.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Existem diferentes maneiras de efetuar uma boa reutiliza\u00e7\u00e3o de c\u00f3digo. Quando temos uma classe, ou conjunto de classes, que utilizamos muitas vezes, em muitos projetos, uma boa op\u00e7\u00e3o ser\u00e1 transformar essas classes num projecto e utilizar como se fosse um nuget. Desta forma, vou explicar como podemos adicionar um reposit\u00f3rio nuget nosso. Podemos criar um&#8230;<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-145","post","type-post","status-publish","format-standard","hentry","category-sem-categoria"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/codefornoobs.pt\/index.php?rest_route=\/wp\/v2\/posts\/145","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/codefornoobs.pt\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/codefornoobs.pt\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/codefornoobs.pt\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/codefornoobs.pt\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=145"}],"version-history":[{"count":5,"href":"https:\/\/codefornoobs.pt\/index.php?rest_route=\/wp\/v2\/posts\/145\/revisions"}],"predecessor-version":[{"id":155,"href":"https:\/\/codefornoobs.pt\/index.php?rest_route=\/wp\/v2\/posts\/145\/revisions\/155"}],"wp:attachment":[{"href":"https:\/\/codefornoobs.pt\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=145"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/codefornoobs.pt\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=145"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/codefornoobs.pt\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=145"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}