{"id":530,"date":"2025-05-30T08:05:28","date_gmt":"2025-05-30T11:05:28","guid":{"rendered":"https:\/\/rodrigoduclerc.net\/site\/en\/?p=530"},"modified":"2025-05-30T11:35:48","modified_gmt":"2025-05-30T14:35:48","slug":"microsoft-introduces-direct-c-file-execution-in-net-10-preview-4","status":"publish","type":"post","link":"https:\/\/rodrigoduclerc.net\/site\/2025\/05\/30\/microsoft-introduces-direct-c-file-execution-in-net-10-preview-4\/","title":{"rendered":"Microsoft Anuncia Execu\u00e7\u00e3o Direta de Arquivos C# no .NET 10 Preview 4"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Microsoft Introduz Execu\u00e7\u00e3o Direta de Arquivos C# no .NET 10 Preview 4<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A Microsoft revelou uma nova capacidade empolgante no .NET 10 Preview 4 que muda fundamentalmente como desenvolvedores podem trabalhar com C#. O novo comando <code>dotnet run app.cs<\/code> permite que desenvolvedores executem arquivos C# diretamente, eliminando o requisito tradicional de arquivos de projeto e scaffolding complexo.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Quebrando Barreiras de Entrada<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Historicamente, executar c\u00f3digo C# exigia criar uma estrutura completa de projeto com arquivos <code>.csproj<\/code>, o que poderia ser intimidador para iniciantes ou inc\u00f4modo para experimentos r\u00e1pidos. Esta nova funcionalidade, chamada de &#8220;aplica\u00e7\u00f5es baseadas em arquivo&#8221;, transforma C# em uma linguagem mais acess\u00edvel que compete diretamente com linguagens de script como Python e JavaScript.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Novas Diretivas Poderosas<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">A funcionalidade introduz v\u00e1rias diretivas de n\u00edvel de arquivo que trazem capacidades similares a projetos para arquivos independentes:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>#:package<\/code><\/strong> &#8211; Adicione refer\u00eancias de pacotes NuGet diretamente no seu arquivo .cs<\/li>\n\n\n\n<li><strong><code>#:sdk<\/code><\/strong> &#8211; Especifique diferentes SDKs (perfeito para aplica\u00e7\u00f5es web usando ASP.NET Core)<\/li>\n\n\n\n<li><strong><code>#:property<\/code><\/strong> &#8211; Configure propriedades do MSBuild para recursos avan\u00e7ados da linguagem<\/li>\n\n\n\n<li><strong>Suporte a shebang<\/strong> &#8211; Crie scripts C# execut\u00e1veis em sistemas Unix-like<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Caminho de Crescimento Seamless<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Talvez mais importante, isto n\u00e3o \u00e9 um runtime ou dialeto separado. Quando seu script simples cresce para uma aplica\u00e7\u00e3o complexa, o comando <code>dotnet project convert app.cs<\/code> automaticamente o transforma em uma estrutura de projeto completa, preservando todo seu c\u00f3digo e traduzindo diretivas em configura\u00e7\u00f5es adequadas do MSBuild.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Recep\u00e7\u00e3o da Comunidade<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">A comunidade de desenvolvedores respondeu entusiasticamente, particularmente elogiando seu potencial para educa\u00e7\u00e3o e prototipagem r\u00e1pida. Enquanto alguns desenvolvedores solicitaram funcionalidades adicionais como funcionalidade REPL e execu\u00e7\u00e3o por duplo-clique, a Microsoft indicou que considera\u00e7\u00f5es de seguran\u00e7a guiar\u00e3o melhorias futuras.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Come\u00e7ando<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Para experimentar esta funcionalidade, desenvolvedores precisam instalar o .NET 10 Preview 4 e opcionalmente usar o Visual Studio Code com a extens\u00e3o C# Dev Kit. A funcionalidade funciona imediatamente com qualquer arquivo <code>.cs<\/code>, tornando t\u00e3o simples quanto criar um arquivo e executar <code>dotnet run nomedoarquivo.cs<\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Este desenvolvimento representa o compromisso da Microsoft em tornar C# mais acess\u00edvel enquanto preserva o poder e sofistica\u00e7\u00e3o que fazem do .NET uma plataforma de n\u00edvel empresarial.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Fonte: <a href=\"https:\/\/devblogs.microsoft.com\/dotnet\/announcing-dotnet-run-app\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/devblogs.microsoft.com\/dotnet\/announcing-dotnet-run-app\/<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>A Microsoft revolucionou o desenvolvimento C# com a introdu\u00e7\u00e3o do dotnet run app.cs no .NET 10 Preview 4, permitindo que desenvolvedores executem arquivos C# diretamente sem criar estruturas de projeto. Esta funcionalidade inovadora torna o C# t\u00e3o acess\u00edvel quanto Python ou JavaScript para scripts, aprendizado e prototipagem r\u00e1pida, mantendo total compatibilidade com o ecossistema .NET.<\/p>\n","protected":false},"author":1,"featured_media":541,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[73],"tags":[],"class_list":["post-530","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tech-news"],"_links":{"self":[{"href":"https:\/\/rodrigoduclerc.net\/site\/wp-json\/wp\/v2\/posts\/530","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rodrigoduclerc.net\/site\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/rodrigoduclerc.net\/site\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/rodrigoduclerc.net\/site\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/rodrigoduclerc.net\/site\/wp-json\/wp\/v2\/comments?post=530"}],"version-history":[{"count":10,"href":"https:\/\/rodrigoduclerc.net\/site\/wp-json\/wp\/v2\/posts\/530\/revisions"}],"predecessor-version":[{"id":555,"href":"https:\/\/rodrigoduclerc.net\/site\/wp-json\/wp\/v2\/posts\/530\/revisions\/555"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/rodrigoduclerc.net\/site\/wp-json\/wp\/v2\/media\/541"}],"wp:attachment":[{"href":"https:\/\/rodrigoduclerc.net\/site\/wp-json\/wp\/v2\/media?parent=530"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rodrigoduclerc.net\/site\/wp-json\/wp\/v2\/categories?post=530"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rodrigoduclerc.net\/site\/wp-json\/wp\/v2\/tags?post=530"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}