{"id":7279,"date":"2023-03-02T10:18:00","date_gmt":"2023-03-02T10:18:00","guid":{"rendered":"https:\/\/cloudsurfers.it\/?p=7279"},"modified":"2023-03-02T10:18:01","modified_gmt":"2023-03-02T10:18:01","slug":"gestire-soluzioni-e-progetti-net-con-visual-studio-code","status":"publish","type":"post","link":"https:\/\/cloudsurfers.it\/index.php\/gestire-soluzioni-e-progetti-net-con-visual-studio-code\/","title":{"rendered":"Gestire soluzioni e progetti .NET con Visual Studio Code"},"content":{"rendered":"<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"400\" src=\"https:\/\/cloudsurfers.it\/wp-content\/uploads\/2023\/02\/image.png\" alt=\"\" class=\"wp-image-7280\" srcset=\"https:\/\/cloudsurfers.it\/wp-content\/uploads\/2023\/02\/image.png 800w, https:\/\/cloudsurfers.it\/wp-content\/uploads\/2023\/02\/image-300x150.png 300w, https:\/\/cloudsurfers.it\/wp-content\/uploads\/2023\/02\/image-768x384.png 768w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/figure>\n<\/div>\n\n\n<p><\/p>\n\n\n\n<p>Come tutti sappiamo,&nbsp;<em><a href=\"https:\/\/visualstudio.microsoft.com\/it\/\" target=\"_blank\" rel=\"noreferrer noopener\">Visual Studio<\/a><\/em>&nbsp;\u00e8 l&#8217;ambiente di sviluppo per eccellenza in tutti gli ambiti. E&#8217; completo di tutti gli strumenti necessari per lo sviluppo&nbsp;<em>Web<\/em>,&nbsp;<em>Mobile<\/em>,&nbsp;<em>Desktop<\/em>, base di dati, ecc&#8230; ecc&#8230;. Ha solo un piccolo grande difetto, \u00e8 compatibile solo con sistemi operativi&nbsp;<em>Windows<\/em>.<\/p>\n\n\n\n<p>Per&nbsp;<em>MacOS<\/em>&nbsp;<em>Microsoft<\/em>&nbsp;rilascia attualmente&nbsp;<em><a href=\"https:\/\/visualstudio.microsoft.com\/it\/vs\/mac\/\" target=\"_blank\" rel=\"noreferrer noopener\">Visual Studio for MacOS<\/a><\/em>, una versione di&nbsp;<em>Visual Studio<\/em>&nbsp;per sistemi operativi&nbsp;<em>MacOS<\/em>.<br>Questa soluzione per\u00f2 risulta al momento molto incompleta rispetto alla versione&nbsp;<em>Windows<\/em>&nbsp;e basta qualche ora di utilizzo per riscontrare diversi problemi di utilizzabilit\u00e0.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Quindi se non utilizzo&nbsp;<em>Windows<\/em>, come gestisco le mie soluzioni e i miei progetti&nbsp;<strong>.NET<\/strong>?<\/h3>\n\n\n\n<p>La risposta a questo domanda \u00e8:&nbsp;<strong><a href=\"https:\/\/code.visualstudio.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">Visual Studio Code<\/a><\/strong>,&nbsp;con qualche estensione che ne amplifica le potenzialit\u00e0 rendendolo un&#8217;ambiente di sviluppo&nbsp;<em>.NET<\/em>&nbsp;completo e soprattutto, multipiattaforma.<\/p>\n\n\n\n<p>Predisponiamo ora l&#8217;ambiente e testiamo le sue funzionalit\u00e0 tramite un progetto di esempio&#8230;<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>I passaggi seguenti sono stati eseguiti su un ambiente MacOS M1<\/p>\n<\/blockquote>\n\n\n\n<p>Per prima cosa installiamo&nbsp;<strong><a href=\"https:\/\/code.visualstudio.com\/\">Visual Studio Code<\/a><\/strong>&nbsp;e l&#8217;<strong><a href=\"https:\/\/dotnet.microsoft.com\/en-us\/download\">SDK .NET<\/a><\/strong>&nbsp;(in questo caso in versione&nbsp;<em>7.0<\/em>&nbsp;per architettura&nbsp;<em>arm64<\/em>).<\/p>\n\n\n\n<p>Avviamo&nbsp;<em>VSCODE<\/em>&nbsp;e dalla menu laterale&nbsp;<em>Estensioni<\/em>&nbsp;installiamo&nbsp;<strong><a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=ms-dotnettools.vscode-dotnet-pack\" target=\"_blank\" rel=\"noreferrer noopener\">.NET Extension Pack<\/a><\/strong>,&nbsp;<strong><a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=fernandoescolar.vscode-solution-explorer\" target=\"_blank\" rel=\"noreferrer noopener\">vscode-solution-explorer<\/a><\/strong> e successivamente <strong><a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=aliasadidev.nugetpackagemanagergui\" target=\"_blank\" rel=\"noreferrer noopener\">NuGet Package Manager GUI<\/a><\/strong>.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/cloudsurfers.it\/wp-content\/uploads\/2023\/02\/image-1.png\" alt=\"\" class=\"wp-image-7282\" width=\"441\" height=\"121\" srcset=\"https:\/\/cloudsurfers.it\/wp-content\/uploads\/2023\/02\/image-1.png 650w, https:\/\/cloudsurfers.it\/wp-content\/uploads\/2023\/02\/image-1-300x82.png 300w\" sizes=\"auto, (max-width: 441px) 100vw, 441px\" \/><\/figure>\n<\/div>\n\n\n<p><\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/cloudsurfers.it\/wp-content\/uploads\/2023\/02\/image-2.png\" alt=\"\" class=\"wp-image-7283\" width=\"440\" height=\"144\" srcset=\"https:\/\/cloudsurfers.it\/wp-content\/uploads\/2023\/02\/image-2.png 559w, https:\/\/cloudsurfers.it\/wp-content\/uploads\/2023\/02\/image-2-300x98.png 300w\" sizes=\"auto, (max-width: 440px) 100vw, 440px\" \/><\/figure>\n<\/div>\n\n\n<p><\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/cloudsurfers.it\/wp-content\/uploads\/2023\/02\/image-9-1024x165.png\" alt=\"\" class=\"wp-image-7308\" width=\"823\" height=\"133\" srcset=\"https:\/\/cloudsurfers.it\/wp-content\/uploads\/2023\/02\/image-9-1024x165.png 1024w, https:\/\/cloudsurfers.it\/wp-content\/uploads\/2023\/02\/image-9-300x48.png 300w, https:\/\/cloudsurfers.it\/wp-content\/uploads\/2023\/02\/image-9-768x124.png 768w, https:\/\/cloudsurfers.it\/wp-content\/uploads\/2023\/02\/image-9.png 1086w\" sizes=\"auto, (max-width: 823px) 100vw, 823px\" \/><\/figure>\n<\/div>\n\n\n<p><\/p>\n\n\n\n<p>Bastano giusto due click e in un attimo il nostro ambiente \u00e8 gi\u00e0 configurato.<\/p>\n\n\n\n<p>Da&nbsp;<em>GitHub<\/em>&nbsp;<a href=\"https:\/\/codeload.github.com\/dotnet\/AspNetCore.Docs\/zip\/main\">scarichiamo<\/a> una serie di progetti esempio forniti da&nbsp;<em>Microsoft<\/em>&nbsp;e decomprimiamo l&#8217;archivio&nbsp;<em>.zip<\/em>.<\/p>\n\n\n\n<p>Navighiamo all&#8217;interno del percorso&nbsp;<code>\/AspNetCore.Docs-main\/aspnetcore\/tutorials\/first-web-api\/samples\/7.0<\/code>&nbsp;e trasciniamo la cartella&nbsp;<strong>TodoApi<\/strong>&nbsp;all&#8217;interno di&nbsp;<em>VSCODE<\/em>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"453\" src=\"https:\/\/cloudsurfers.it\/wp-content\/uploads\/2023\/02\/image-3-1024x453.png\" alt=\"\" class=\"wp-image-7284\" srcset=\"https:\/\/cloudsurfers.it\/wp-content\/uploads\/2023\/02\/image-3-1024x453.png 1024w, https:\/\/cloudsurfers.it\/wp-content\/uploads\/2023\/02\/image-3-300x133.png 300w, https:\/\/cloudsurfers.it\/wp-content\/uploads\/2023\/02\/image-3-768x340.png 768w, https:\/\/cloudsurfers.it\/wp-content\/uploads\/2023\/02\/image-3.png 1268w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>Avviamo il&nbsp;<em>DEBUG<\/em>&nbsp;dell&#8217;applicazione tramite il pulsante&nbsp;<strong>F5<\/strong>.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/cloudsurfers.it\/wp-content\/uploads\/2023\/02\/image-4-1003x1024.png\" alt=\"\" class=\"wp-image-7285\" width=\"589\" height=\"601\" srcset=\"https:\/\/cloudsurfers.it\/wp-content\/uploads\/2023\/02\/image-4-1003x1024.png 1003w, https:\/\/cloudsurfers.it\/wp-content\/uploads\/2023\/02\/image-4-294x300.png 294w, https:\/\/cloudsurfers.it\/wp-content\/uploads\/2023\/02\/image-4-768x784.png 768w, https:\/\/cloudsurfers.it\/wp-content\/uploads\/2023\/02\/image-4.png 1033w\" sizes=\"auto, (max-width: 589px) 100vw, 589px\" \/><\/figure>\n<\/div>\n\n\n<p><\/p>\n\n\n\n<p>e, tramite&nbsp;<em>Browser Web<\/em>, accediamo all&#8217;indirizzo&nbsp;<code>http:\/\/localhost:5000\/swagger\/index.html<\/code>.<\/p>\n\n\n\n<p>Se l&#8217;applicazione <em>.NET<\/em> si \u00e8 avviata correttamente, verr\u00e0 caricata la pagina&nbsp;<em>Swagger<\/em>&nbsp;delle&nbsp;<em>Web API<\/em>&nbsp;<strong>TodoApi<\/strong>&nbsp;di esempio.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/cloudsurfers.it\/wp-content\/uploads\/2023\/02\/image-5.png\" alt=\"\" class=\"wp-image-7286\" width=\"345\" height=\"465\" srcset=\"https:\/\/cloudsurfers.it\/wp-content\/uploads\/2023\/02\/image-5.png 492w, https:\/\/cloudsurfers.it\/wp-content\/uploads\/2023\/02\/image-5-222x300.png 222w\" sizes=\"auto, (max-width: 345px) 100vw, 345px\" \/><\/figure>\n<\/div>\n\n\n<p><\/p>\n\n\n\n<p>Creiamo ora una nuova soluzione&nbsp;<em>.NET<\/em>&nbsp;tramite&nbsp;<em>vscode-solution-explorer<\/em>, installato in precedenza, ed aggiungiamo al suo interno il progetto esistente&nbsp;<strong>TodoApi<\/strong>.<\/p>\n\n\n\n<p>Clicchiamo sulla scheda&nbsp;<strong>Soluzione<\/strong>&nbsp;nella barra laterale sinistra di&nbsp;<em>VSCODE<\/em>.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/cloudsurfers.it\/wp-content\/uploads\/2023\/02\/image-6-1024x605.png\" alt=\"\" class=\"wp-image-7287\" width=\"835\" height=\"493\" srcset=\"https:\/\/cloudsurfers.it\/wp-content\/uploads\/2023\/02\/image-6-1024x605.png 1024w, https:\/\/cloudsurfers.it\/wp-content\/uploads\/2023\/02\/image-6-300x177.png 300w, https:\/\/cloudsurfers.it\/wp-content\/uploads\/2023\/02\/image-6-768x454.png 768w, https:\/\/cloudsurfers.it\/wp-content\/uploads\/2023\/02\/image-6.png 1266w\" sizes=\"auto, (max-width: 835px) 100vw, 835px\" \/><\/figure>\n<\/div>\n\n\n<p><\/p>\n\n\n\n<p>Creiamo una nuova soluzione, &#8220;TodoApi&#8221; in questo caso, tramite il pulsante&nbsp;<strong>Crea Nuova Soluzione<\/strong>&nbsp;ed apriamola tramite il pulsante&nbsp;<strong>Apri soluzione<\/strong>.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/cloudsurfers.it\/wp-content\/uploads\/2023\/02\/image-7.png\" alt=\"\" class=\"wp-image-7288\" width=\"556\" height=\"106\" srcset=\"https:\/\/cloudsurfers.it\/wp-content\/uploads\/2023\/02\/image-7.png 644w, https:\/\/cloudsurfers.it\/wp-content\/uploads\/2023\/02\/image-7-300x57.png 300w, https:\/\/cloudsurfers.it\/wp-content\/uploads\/2023\/02\/image-7-640x123.png 640w\" sizes=\"auto, (max-width: 556px) 100vw, 556px\" \/><\/figure>\n<\/div>\n\n\n<p><\/p>\n\n\n\n<p>Mediante il menu contestuale (click destro del mouse) sulla soluzione appena aperta,&nbsp;<em>TodoApi<\/em>, selezioniamo&nbsp;<strong>Aggiungi progetto esistente<\/strong>&nbsp;e successivamente il file di progetto&nbsp;<em>TodoApi.csproj<\/em>.<\/p>\n\n\n\n<p>A questo punto ci troveremo davanti la struttura della soluzione appena creata con al suo interno il progetto&nbsp;<em>TodoApi<\/em>&nbsp;e potremo utilizzare tutti gli strumenti messi a disposizione dall&#8217;estensione, come ad esempio: aggiungere nuove referenze, ripristinare i pacchetti del progetto, compilare, pubblicare, ecc&#8230;.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/cloudsurfers.it\/wp-content\/uploads\/2023\/02\/image-8.png\" alt=\"\" class=\"wp-image-7289\" width=\"796\" height=\"600\" srcset=\"https:\/\/cloudsurfers.it\/wp-content\/uploads\/2023\/02\/image-8.png 811w, https:\/\/cloudsurfers.it\/wp-content\/uploads\/2023\/02\/image-8-300x226.png 300w, https:\/\/cloudsurfers.it\/wp-content\/uploads\/2023\/02\/image-8-768x580.png 768w\" sizes=\"auto, (max-width: 796px) 100vw, 796px\" \/><\/figure>\n<\/div>\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">E se voglio aggiungere al progetto un pacchetto NuGet?<\/h3>\n\n\n\n<p>L&#8217;estensione <strong><a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=fernandoescolar.vscode-solution-explorer\" target=\"_blank\" rel=\"noreferrer noopener\">vscode-solution-explorer<\/a><\/strong> vista sopra, offre gi\u00e0 la possibilit\u00e0 di installare pacchetti <em>NuGet<\/em> all&#8217;interno del singolo progetto o dell&#8217;intera soluzione tramite input direttamente dalla <em>Command Palette&#8230;<\/em> di <em>VSCODE<\/em>. Per una modalit\u00e0 un po&#8217; pi\u00f9 dettagliata e completa, vediamo il funzionamento dell&#8217;estensione <strong><a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=aliasadidev.nugetpackagemanagergui\" data-type=\"URL\" data-id=\"https:\/\/marketplace.visualstudio.com\/items?itemName=aliasadidev.nugetpackagemanagergui\" target=\"_blank\" rel=\"noreferrer noopener\">NuGet Package Manager GUI<\/a><\/strong> ed aggiungiamo un pacchetto di esempio come <em>Newtonsoft.Json<\/em>.<\/p>\n\n\n\n<p>Avviamo <strong>NuGet Package Manager GUI<\/strong> tramite <em>Command Palette&#8230;<\/em>.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/cloudsurfers.it\/wp-content\/uploads\/2023\/02\/image-10.png\" alt=\"\" class=\"wp-image-7311\" width=\"582\" height=\"106\" srcset=\"https:\/\/cloudsurfers.it\/wp-content\/uploads\/2023\/02\/image-10.png 665w, https:\/\/cloudsurfers.it\/wp-content\/uploads\/2023\/02\/image-10-300x55.png 300w\" sizes=\"auto, (max-width: 582px) 100vw, 582px\" \/><\/figure>\n<\/div>\n\n\n<p><\/p>\n\n\n\n<p>All&#8217;interno della scheda <strong>Install New Package<\/strong>, cerchiamo il pacchetto che vogliamo installare e clicchiamo su <strong>Install<\/strong>.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"276\" src=\"https:\/\/cloudsurfers.it\/wp-content\/uploads\/2023\/02\/image-11-1024x276.png\" alt=\"\" class=\"wp-image-7312\" srcset=\"https:\/\/cloudsurfers.it\/wp-content\/uploads\/2023\/02\/image-11-1024x276.png 1024w, https:\/\/cloudsurfers.it\/wp-content\/uploads\/2023\/02\/image-11-300x81.png 300w, https:\/\/cloudsurfers.it\/wp-content\/uploads\/2023\/02\/image-11-768x207.png 768w, https:\/\/cloudsurfers.it\/wp-content\/uploads\/2023\/02\/image-11-1536x414.png 1536w, https:\/\/cloudsurfers.it\/wp-content\/uploads\/2023\/02\/image-11.png 1557w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n\n<p><\/p>\n\n\n\n<p>In un&#8217;attimo, all&#8217;interno dell&#8217;explorer di progetto, cartella <em>packages<\/em>, troveremo il pacchetto appena installato. Nulla di pi\u00f9 semplice.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/cloudsurfers.it\/wp-content\/uploads\/2023\/02\/image-12.png\" alt=\"\" class=\"wp-image-7313\" width=\"246\" height=\"412\" srcset=\"https:\/\/cloudsurfers.it\/wp-content\/uploads\/2023\/02\/image-12.png 307w, https:\/\/cloudsurfers.it\/wp-content\/uploads\/2023\/02\/image-12-179x300.png 179w\" sizes=\"auto, (max-width: 246px) 100vw, 246px\" \/><\/figure>\n<\/div>\n\n\n<p><\/p>\n\n\n\n<p>In conclusione, c&#8217;\u00e8 sicuramente qualche compromesso da accettare in termini di immediatezza di utilizzo tra&nbsp;<em>Visual Studio Code<\/em>&nbsp;e&nbsp;<em>Visual Studio<\/em>&nbsp;per&nbsp;<em>Windows<\/em>.<\/p>\n\n\n\n<p>Facendo un esempio, per effettuare una pubblicazione&nbsp;<em>Web App<\/em>&nbsp;su&nbsp;<em>Azure<\/em>, non basta premere&nbsp;<em>Pubblica<\/em>&nbsp;su un profilo di pubblicazione come si farebbe normalmente su&nbsp;<em>Visual Studio<\/em>&nbsp;per&nbsp;<em>Windows<\/em>. Con&nbsp;<em>Visual Studio Code<\/em>&nbsp;\u00e8 necessario installare un&nbsp;<a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=ms-azuretools.vscode-azureresourcegroups\" target=\"_blank\" rel=\"noreferrer noopener\">estensione&nbsp;<em>Azure<\/em><\/a>&nbsp;dedicata, lanciare da riga di comando&nbsp;<code>dotnet publish -c Release progetto.csproj<\/code>&nbsp;e successivamente pubblicare la cartella&nbsp;<em>publish<\/em>&nbsp;appena generata tramite il menu contestuale&nbsp;<em>Deploy to Web App&#8230;<\/em>&nbsp;fornito dall&#8217;estensione&nbsp;<em>Azure<\/em>. Non un semplice click del mouse.<\/p>\n\n\n\n<p>D&#8217;altro canto per\u00f2 questa soluzione \u00e8 completa di tutto ci\u00f2 che serve per gestire in toto i nostri progetti e le nostre soluzioni&nbsp;<em>.NET<\/em>&nbsp;da un ambiente&nbsp;<em>MacOS<\/em>,&nbsp;<em>Linux<\/em>&nbsp;e perch\u00e9 no, anche da un ambiente&nbsp;<em>Windows<\/em>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Come tutti sappiamo,\u00a0Visual Studio\u00a0\u00e8 l&#8217;ambiente di sviluppo per eccellenza in tutti gli ambiti. E&#8217; completo di tutti gli strumenti necessari per lo sviluppo\u00a0Web,\u00a0Mobile,\u00a0Desktop, base di dati, ecc&#8230; ecc&#8230;. Ha solo un piccolo grande difetto, \u00e8 compatibile solo con sistemi operativi\u00a0Windows.<\/p>\n","protected":false},"author":3,"featured_media":7280,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"wds_primary_category":0,"footnotes":""},"categories":[90,130,36,210],"tags":[213,214,126,110,211,212],"class_list":["post-7279","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-net-core","category-insights","category-guide","category-visual-studio-code","tag-net","tag-dotnet","tag-macos","tag-tutorial","tag-visual-studio","tag-visual-studio-code"],"_links":{"self":[{"href":"https:\/\/cloudsurfers.it\/index.php\/wp-json\/wp\/v2\/posts\/7279","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cloudsurfers.it\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cloudsurfers.it\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cloudsurfers.it\/index.php\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/cloudsurfers.it\/index.php\/wp-json\/wp\/v2\/comments?post=7279"}],"version-history":[{"count":0,"href":"https:\/\/cloudsurfers.it\/index.php\/wp-json\/wp\/v2\/posts\/7279\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cloudsurfers.it\/index.php\/wp-json\/wp\/v2\/media\/7280"}],"wp:attachment":[{"href":"https:\/\/cloudsurfers.it\/index.php\/wp-json\/wp\/v2\/media?parent=7279"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cloudsurfers.it\/index.php\/wp-json\/wp\/v2\/categories?post=7279"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cloudsurfers.it\/index.php\/wp-json\/wp\/v2\/tags?post=7279"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}