{"id":47609,"date":"2023-09-14T10:00:00","date_gmt":"2023-09-14T17:00:00","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/dotnet\/?p=47609"},"modified":"2024-12-13T14:11:21","modified_gmt":"2024-12-13T22:11:21","slug":"teams-toolkit-vs177-update","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/dotnet\/teams-toolkit-vs177-update\/","title":{"rendered":"What&#8217;s new in Teams Toolkit for Visual Studio 2022?"},"content":{"rendered":"<p>Teams Toolkit for Visual Studio helps .NET developers build, debug, and publish apps for Microsoft Teams. We are thrilled to share that Teams Toolkit for Visual Studio 2022 version 17.7 is packed with exciting capabilities for .NET developers.<\/p>\n<p>In this article, we\u2019ll share more information about the new capabilities announced in the recent release:<\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li>Automate lifecycle of Teams Apps<\/li>\n<li>Debug bots with built-in tunneling<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h2>Automate lifecycle of Teams apps<\/h2>\n<p>Teams Toolkit introduced a new way for .NET developers to create focused tasks to automate setup and other repetitive actions during Teams app development. These tasks are composed into groups as lifecycle of Provision, Deploy, and Publish. If you create a new project using the new version, your project will include <code>teamsapp.yml<\/code> by default.<\/p>\n<p>For your existing project, simply create a new file named <code>teamsapp.yml<\/code> and add it to your project directory. Teams Toolkit will handle the creation of a Teams app registration and save the App ID to an environment file during the Provision step as shown below:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2023\/09\/provision-1.png\" alt=\"teamsapp yml file provision\" \/><\/p>\n<p>The above example uses the <code>teamsApp\/create<\/code> action. You can add many other built-in automation tasks or actions available in this release. Check out our <a href=\"https:\/\/github.com\/OfficeDev\/TeamsFx\/wiki\/Teams-Toolkit-Visual-Studio-Code-v5-Guide\">Guide<\/a> to learn more about available actions.<\/p>\n<p>Note: If you created a Teams app using the previous versions of Teams Toolkit, you\u2019ll be able to automatically upgrade your project to support the latest features.<\/p>\n<p>Here is another example using the <code>arm\/deploy<\/code> action. In previous versions, when projects are created by Teams Toolkit, there contains the ARM templates\/bicep files that defines the required Azure resources for different Teams app. The ARM templates are predefined and not allowed to be customized by developers. Now, using the new version, developers can use the <code>arm\/deploy<\/code> action to specify the bicep file they want to use for ARM deployment. This gives developers more flexibility and transparency of the Azure resources they want to use for the Teams app.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2023\/09\/provision-2.png\" alt=\"teamsapp yml file arm deploy\" \/><\/p>\n<p>Users can also specify\/customize the manifest path of the Teams app, which gives developers further flexibility \u2013 a feature not available in the previous version of Teams Toolkit. Previously, Teams Toolkit generated the manifest file in a default path and always used that path, which did not allow users to move the file or specify another path. This latest release allows users to use any path they want.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2023\/09\/provision-3.png\" alt=\"teamsapp yml file aadApp update\" \/><\/p>\n<h2>Debug bots with built-in tunneling<\/h2>\n<p>Debugging bots is even simpler in this release with the power of <a href=\"https:\/\/learn.microsoft.com\/aspnet\/core\/test\/dev-tunnels?view=aspnetcore-7.0\">Visual Studio dev tunnels<\/a>. To begin, create a new tunnel by selecting the arrow on the right side of the debug button, select Dev Tunnels and then Create a Tunnel.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2023\/09\/devtunnels-1.png\" alt=\"Visual Studio Dev Tunnels\" \/><\/p>\n<p>Configure the Dev Tunnel Type and Access the way you prefer, select OK and your tunnel will be created.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2023\/09\/devtunnels-2.png\" alt=\"Visual Studio Dev Tunnels\" \/><\/p>\n<p>Using Dev Tunnels by default also brings these advantages to your Teams app development:<\/p>\n<ol>\n<li>Enhanced security awareness: receive alerts when connected to Dev Tunnels, helping prevent phishing attacks and accidental disclosure of tunnel endpoints.<\/li>\n<li>Microsoft 365 identity authentication: safeguard your tunnel creation by authenticating with your Microsoft 365 identity. This gives you an added layer of protection.<\/li>\n<li>Zero context switching: reduce context switching when building Teams apps by using the Dev Tunnels. Save manual work to create a tunneling using other tools.<\/li>\n<\/ol>\n<h2>Try the new version<\/h2>\n<p>It\u2019s easy to get started with Teams Toolkit for Visual Studio. Install <a href=\"https:\/\/visualstudio.microsoft.com\/vs\/\">Visual Studio 2022<\/a>, select ASP.NET and web development workload and Teams Toolkit from the Installation details.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2023\/09\/new-version-ttk.png\" alt=\"Visual Studio Dev Tunnels\" \/><\/p>\n<p>If you already have Visual Studio 2022 and are excited to try out the new capabilities mentioned above, you can update Visual Studio 2022 with the Visual Studio Installer.<\/p>\n<p>To upgrade Teams apps built using the previous version of Teams Toolkit, simply open your project with the new version and your project will migrate automatically. Learn more about the file changes that will take a place in the new version by reading <a href=\"https:\/\/github.com\/OfficeDev\/TeamsFx\/wiki\/Upgrade-project-to-use-Teams-Toolkit-5.0-features\">Upgrade project to use Teams Toolkit 5.0<\/a> features documentation.<\/p>\n<h2>We\u2019d love to learn from your experience! \ud83d\udc9c<\/h2>\n<p>We\u2019re excited for you to try the new features and share your feedback! You can build with the Teams Toolkit product team on <a href=\"https:\/\/github.com\/OfficeDev\/TeamsFx\/tree\/dev\">GitHub<\/a>, share feedback as an issue, or email the product team directly at <a href=\"mailto:ttkfeedback@microsoft.com\">ttkfeedback@microsoft.com<\/a>.<\/p>\n<p>To learn more, check out our documentation:<\/p>\n<ul>\n<li><a href=\"https:\/\/learn.microsoft.com\/microsoftteams\/platform\/toolkit\/toolkit-v4\/teams-toolkit-fundamentals-vs?pivots=visual-studio-v17-7\">Teams Toolkit Visual Studio Overview<\/a><\/li>\n<li><a href=\"https:\/\/learn.microsoft.com\/microsoftteams\/platform\/toolkit\/toolkit-v4\/install-teams-toolkit-vs?pivots=visual-studio-v17-7\">Install Teams Toolkit in Visual Studio<\/a><\/li>\n<li><a href=\"https:\/\/learn.microsoft.com\/microsoftteams\/platform\/toolkit\/toolkit-v4\/explore-teams-toolkit-vs?tabs=prj&amp;pivots=visual-studio-v17-7\">Explore Teams Toolkit in Visual Studio<\/a><\/li>\n<li><a href=\"https:\/\/learn.microsoft.com\/microsoftteams\/platform\/sbs-gs-csharp\">Build your first Teams app with C#<\/a><\/li>\n<\/ul>\n<p>If you are interested in seeing what&#8217;s new in Teams Toolkit for Visual Studio 17.7 in action, check out the interview with John Miller and James Montemagno and dive into the new features of Teams Toolkit hands on:\n<a href=\"https:\/\/www.youtube.com\/watch?v=YeGRgScvil8\"><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2023\/09\/whats-new-ttk.png\" alt=\"What is new in Teams Toolkit for Visual Studio 17.7\" \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Teams Toolkit for Visual Studio 2022 version 17.7 is packed with the new exciting capabilities for .NET developers.<\/p>\n","protected":false},"author":82723,"featured_media":47610,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[685,195,7509,7251,756,7252],"tags":[4,9,11,30,32,7205,46,7539],"class_list":["post-47609","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dotnet","category-dotnet-framework","category-aspnetcore","category-blazor","category-csharp","category-cloud","tag-net","tag-net-core","tag-net-framework","tag-announcement","tag-asp-net-core","tag-blazor","tag-c","tag-cloud"],"acf":[],"blog_post_summary":"<p>Teams Toolkit for Visual Studio 2022 version 17.7 is packed with the new exciting capabilities for .NET developers.<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts\/47609","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/users\/82723"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/comments?post=47609"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts\/47609\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/media\/47610"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/media?parent=47609"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/categories?post=47609"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/tags?post=47609"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}