{"id":18725,"date":"2024-02-14T09:28:33","date_gmt":"2024-02-14T17:28:33","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/?p=18725"},"modified":"2024-02-14T09:28:33","modified_gmt":"2024-02-14T17:28:33","slug":"whats-new-in-teams-toolkit-for-visual-studio-17-9","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/whats-new-in-teams-toolkit-for-visual-studio-17-9\/","title":{"rendered":"What\u2019s new in Teams Toolkit for Visual Studio 17.9"},"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 Visual Studio 17.9 makes it easier to build AI powered chat bots with new project templates, extend Copilot for Microsoft 365, run and debug bots offline, and other developer experience improvements to boost your productivity. Read on to discover everything that\u2019s included for .NET developers to build apps for Teams in this release.<\/p>\n<h2>Get started with AI powered bots<\/h2>\n<p>If you want to add a layer of intelligence to your bot, you can use the Teams AI Library to simplify the integration of AI services into your Teams app. For example, you can create a bot that uses OpenAI or Azure OpenAI to generate natural language responses based on the user&#8217;s input and context in an engaging way. It\u2019s now easier to get started building these types of bots using the new AI Chat Bot and AI Assistants Bot project templates.<\/p>\n<p><img decoding=\"async\" width=\"657\" height=\"452\" class=\"wp-image-18726 aligncenter\" src=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2024\/02\/word-image-18725-1.png\" srcset=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2024\/02\/word-image-18725-1.png 657w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2024\/02\/word-image-18725-1-300x206.png 300w\" sizes=\"(max-width: 657px) 100vw, 657px\" \/><\/p>\n<h2>Run and debug bots offline<\/h2>\n<p>Building and testing bots can be challenging or impossible when uploading custom apps is disabled or you can\u2019t create a networking tunnel to start debugging. This release includes new features that make it simpler to run and debug your bot apps in a locally hosted web tool that includes ways to test common Teams activities and interactions. Selecting the Teams App Test Tool debug target will launch your bot in a new web browser session using this tool without the need for an account or networking tunnel.<\/p>\n<p><img decoding=\"async\" width=\"1462\" height=\"614\" class=\"wp-image-18727 aligncenter\" src=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2024\/02\/word-image-18725-2.png\" srcset=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2024\/02\/word-image-18725-2.png 1462w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2024\/02\/word-image-18725-2-300x126.png 300w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2024\/02\/word-image-18725-2-1024x430.png 1024w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2024\/02\/word-image-18725-2-768x323.png 768w\" sizes=\"(max-width: 1462px) 100vw, 1462px\" \/><\/p>\n<h2 style=\"text-align: center;\"><iframe src=\"\/\/www.youtube.com\/embed\/IiuAWrZYmoo?si=F1K0L2VSC7YCyyRQ\" width=\"560\" height=\"314\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/h2>\n<h2>Real-time preview of Adaptive Cards<\/h2>\n<p>Teams Toolkit now includes the Microsoft Adaptive Card Previewer to help you preview and edit Adaptive Cards in real-time. Click on the Preview button in the JSON file of the Adaptive Card to open the side-by-side preview.<\/p>\n<p><img decoding=\"async\" width=\"1087\" height=\"600\" class=\"wp-image-18729 aligncenter\" src=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2024\/02\/word-image-18725-4.png\" srcset=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2024\/02\/word-image-18725-4.png 1087w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2024\/02\/word-image-18725-4-300x166.png 300w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2024\/02\/word-image-18725-4-1024x565.png 1024w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2024\/02\/word-image-18725-4-768x424.png 768w\" sizes=\"(max-width: 1087px) 100vw, 1087px\" \/><\/p>\n<p style=\"text-align: center;\"><iframe src=\"\/\/www.youtube.com\/embed\/RzI1DINaSzM?si=yN24dR_fKIGIy6sA\" width=\"560\" height=\"314\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/p>\n<h2>Quickly run automation steps<\/h2>\n<p>One of the powerful features in Teams Toolkit is the ability to configure the automation into different stages that you can use in your developer journey like creating new cloud resources, deploying code, and publishing your app. You can customize this behavior in the teamsapp.*.yml files and it\u2019s now simpler to run single steps using new CodeLens hints. Select a hint to see a summary of its automation steps and select Run All to trigger that step.<\/p>\n<p><img decoding=\"async\" width=\"735\" height=\"272\" class=\"wp-image-18731\" src=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2024\/02\/word-image-18725-6.png\" srcset=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2024\/02\/word-image-18725-6.png 735w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2024\/02\/word-image-18725-6-300x111.png 300w\" sizes=\"(max-width: 735px) 100vw, 735px\" \/><\/p>\n<h2>Quick access to our documentation<\/h2>\n<p>Whenever you need to reference the documentation, it\u2019s even simpler now to find by using the new <strong>Project &gt; Teams Toolkit &gt; Teams Toolkit Documentation <\/strong>menu.<\/p>\n<p><img decoding=\"async\" width=\"530\" height=\"515\" class=\"wp-image-18732 aligncenter\" src=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2024\/02\/word-image-18725-7.png\" srcset=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2024\/02\/word-image-18725-7.png 530w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2024\/02\/word-image-18725-7-300x292.png 300w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2024\/02\/word-image-18725-7-24x24.png 24w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2024\/02\/word-image-18725-7-48x48.png 48w\" sizes=\"(max-width: 530px) 100vw, 530px\" \/><\/p>\n<h2>Extend Copilot for Microsoft 365<\/h2>\n<p>This release includes a new project template and features that help you extend Microsoft 365 Copilot. To try these features, opt-in by selecting <strong>Tools &gt; Options &gt; Preview Features<\/strong> <strong>&gt; Teams Toolkit: Develop Copilot Plugin<\/strong>.<\/p>\n<p><img decoding=\"async\" width=\"1166\" height=\"263\" class=\"wp-image-18733 aligncenter\" src=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2024\/02\/word-image-18725-8.png\" srcset=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2024\/02\/word-image-18725-8.png 1166w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2024\/02\/word-image-18725-8-300x68.png 300w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2024\/02\/word-image-18725-8-1024x231.png 1024w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2024\/02\/word-image-18725-8-768x173.png 768w\" sizes=\"(max-width: 1166px) 100vw, 1166px\" \/><\/p>\n<p>After enabling the preview features and restarting Visual Studio, create a new project and select <strong>Microsoft Teams App &gt; Custom Search Results<\/strong>.<\/p>\n<p><img decoding=\"async\" width=\"982\" height=\"678\" class=\"wp-image-18734 aligncenter\" src=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2024\/02\/word-image-18725-9.png\" srcset=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2024\/02\/word-image-18725-9.png 982w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2024\/02\/word-image-18725-9-300x207.png 300w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2024\/02\/word-image-18725-9-768x530.png 768w\" sizes=\"(max-width: 982px) 100vw, 982px\" \/><\/p>\n<h2>Connect with the OpenAI Assistants API<\/h2>\n<p>Building intelligent chat bots is even simpler now using the AI Assistants Bot project template. Selecting this template creates a new project that uses the Teams AI Library to simplify connecting your Teams bot to the OpenAI Assistants API to build engaging conversational experiences \u2013 checkout the video on using custom functions to customize the AI responses with your own data and build your own copilot.<\/p>\n<p><img decoding=\"async\" width=\"958\" height=\"657\" class=\"wp-image-18735 aligncenter\" src=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2024\/02\/word-image-18725-10.png\" srcset=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2024\/02\/word-image-18725-10.png 958w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2024\/02\/word-image-18725-10-300x206.png 300w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2024\/02\/word-image-18725-10-768x527.png 768w\" sizes=\"(max-width: 958px) 100vw, 958px\" \/><\/p>\n<p style=\"text-align: center;\"><iframe src=\"\/\/www.youtube.com\/embed\/xYhsZGyqrvY\" width=\"560\" height=\"314\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/p>\n<h2>Build with .NET 8<\/h2>\n<p>We\u2019re happy to share that all the Microsoft Teams App project templates are updated to use .NET 8 by default and new Tab projects are using the new rendering options in Blazor.<\/p>\n<p>We \ud83d\udc96 your feedback. You can <a href=\"https:\/\/github.com\/OfficeDev\/TeamsFx\/discussions\">join the community in a GitHub Discussion<\/a> or <a href=\"https:\/\/github.com\/OfficeDev\/TeamsFx\/issues\">file an issue<\/a>. Let us know what you\u2019re excited to build for Teams, Outlook, and the Microsoft 365 app and happy coding!<\/p>\n<p><em>Follow us on <a href=\"http:\/\/twitter.com\/microsoft365dev\">X (Twitter) \/ @Microsoft365Dev<\/a> and subscribe to our <a href=\"https:\/\/www.youtube.com\/microsoft365developer\">YouTube channel<\/a> to stay up to date on the latest developer news and announcements.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Discover everything that\u2019s included for .NET devs to build apps for Microsoft Teams in the latest version of Teams Toolkit for Visual Studio.<\/p>\n","protected":false},"author":69083,"featured_media":18742,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[128],"tags":[186,273,257,23,55],"class_list":["post-18725","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-microsoft-teams","tag-net","tag-adaptive-card-previewer","tag-adaptive-cards","tag-teams-toolkit","tag-visual-studio"],"acf":[],"blog_post_summary":"<p>Discover everything that\u2019s included for .NET devs to build apps for Microsoft Teams in the latest version of Teams Toolkit for Visual Studio.<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/posts\/18725","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/users\/69083"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/comments?post=18725"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/posts\/18725\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/media\/18742"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/media?parent=18725"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/categories?post=18725"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/tags?post=18725"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}