Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro: Azure Logic Apps (Standard)
Pokud váš scénář integrace vyžaduje vlastní úlohy nebo logiku nad rámec předdefinovaných operací a konektorů v Azure Logic Apps, vytvořte a spusťte kód .NET jako usměrovací funkce ve standardních pracovních postupech. Pracovní postup pak může provádět úlohy, jako je vlastní analýza, ověřování nebo dokonce použití obchodních pravidel. Pomocí této funkce můžete implementovat scénáře, jako jsou například následující úlohy:
- Přizpůsobení implementace obchodní logiky
- Přizpůsobte analýzu, která extrahuje informace z příchozí zprávy.
- Proveďte ověření dat a jednoduché transformace.
- Proveďte výpočty.
- Přizpůsobení odchozích zpráv odesílaných do jiného systému, například API.
Tento průvodce ukazuje, jak psát a spouštět vlastní .NET kód přímo ve standardních pracovních postupech pomocí Visual Studio Code. Naučíte se vytvářet, ladit a nasazovat místní funkce pomocí Visual Studio Code, abyste mohli udržovat vlastní orchestraci kódu a pracovních postupů pohromadě, ladit je v jedné relaci a nasazovat je jako jedno řešení.
Poznámka:
Vlastní vložený .NET kód není vhodný pro následující scénáře:
- Spouštění procesů, které můžou překročit 10 minut.
- Probíhá pokus o rozsáhlé transformace zpráv a dat.
- Provádění složitých scénářů dávkování a debat
- Použití komponent pipeline serveru BizTalk, které implementují streamování.
Další informace najdete v tématu Omezení.
Požadavky
Účet Azure a předplatné. Přičte si bezplatný účet Azure.
Nejnovější Visual Studio Code s rozšířením Azure Logic Apps (Standard).
Požadavky najdete v tématu Vytvoření standardních pracovních postupů v Azure Logic Apps s jedním tenantem pomocí Visual Studio Code.
Rozšíření poskytuje následující možnosti a výhody:
- Napište svůj vlastní kód vytvořením funkcí, které mají flexibilitu a kontrolu, abyste vyřešili vaše nejnáročnější problémy s integrací.
- Ladit kód místně v Visual Studio Code Procházejte kód a workflowy během stejné ladicí relace.
- Nasaďte kód společně s pracovními postupy. Nejsou potřeba žádné jiné plány služeb.
- Podpora migračních scénářů pro BizTalk Server, abyste mohli hladce přesunout vlastní investice do .NET z místního prostředí do cloudu.
Místní složka, která se má použít pro projekt kódu.
Omezení
Možnost vlastních funkcí můžete používat jen ve Visual Studio Code spuštěném na Windows. Tato funkce podporuje použití .NET Framework a .NET 8 pro pracovní postupy standardní aplikace logiky nasazené a hostované na Azure.
Na portálu Azure nemůžete používat vlastní funkce pro vytváření. Pokud ale chcete pracovat s výstupy z vlastních funkcí v pracovním postupu, postupujte takto:
Po nasazení funkcí do Azure postupujte podle kroků v části Volejte kód z pracovního postupu v portálu Azure.
Přidejte do pracovního postupu integrovanou akci s názvem Volání místní funkce v této aplikaci logiky . Vyberte nasazené vlastní funkce, které chcete, a spusťte kód.
Pomocí následných akcí pracovního postupu můžete odkazovat na výstupy vlastních funkcí, jako můžete v jakémkoli jiném pracovním postupu. Můžete zobrazit historii spuštění integrované akce, vstupy a výstupy.
Obecná omezení najdete v tématu Limits a referenční informace o konfiguraci Azure Logic Apps.
1: Vytvoření projektu kódu
Rozšíření Azure Logic Apps (Standard) pro Visual Studio Code obsahuje šablonu projektu kódu, která poskytuje zjednodušené prostředí pro psaní, ladění a nasazování vlastního kódu pomocí pracovních postupů. Tato šablona projektu vytvoří soubor pracovního prostoru a dva ukázkové projekty: jeden projekt pro napsání kódu a jiného projektu pro vytvoření pracovních postupů.
Poznámka:
Pro kód i pracovní postupy nemůžete použít stejnou složku projektu.
Pokud chcete vytvořit projekt kódu, postupujte takto:
V Visual Studio Code přiřaďte svůj účet Azure.
Pokud přihlášení trvá déle než obvykle, Visual Studio Code vás vyzve, abyste se přihlásili prostřednictvím webu ověřování Microsoft tím, že vám poskytnete kód zařízení. Pokud se chcete přihlásit pomocí kódu, postupujte takto:
Vyberte Použít kód zařízení a pak vyberte Kopírovat a Otevřít.
Výběrem možnosti Otevřít odkaz otevřete nové okno prohlížeče a pokračujte na ověřovací web.
Na stránce Přihlásit se ke svému účtu zadejte ověřovací kód a vyberte Další.
Na panelu aktivit vyberte ikonu Azure.
V okně Azure přejděte do části Workspace. Přesuňte ukazatel myši na oblast názvu tak, aby se zobrazil panel nástrojů.
V nabídce Azure Logic Apps vyberte Vytvoření nového pracovního prostoru aplikace logiky.
V okně Vybrat složku přejděte do místní složky projektu, vyberte složku a pak vyberte.
V okně Vytvořit nový pracovní prostor aplikace logiky zadejte pro výzvu k názvu pracovního prostoru název pracovního prostoru a stiskněte Enter.
Tento příklad se používá
weather-appjako název pracovního prostoru:
Tento příklad používá
weather-projectjako název pracovního prostoru.U výzvy k výběru šablony pro nový projekt vyberte aplikaci logiky s vlastním projektem kódu.
U výzvy Vyberte cílovou architekturu vyberte .NET Framework nebo .NET 8.
Postupujte podle následujících výzev a zadejte následující informace:
Výzva Příklad hodnoty Název aplikace logiky weather-logic-appNázev funkce pro projekt funkcí .NET WeatherForecastNamespace pro projekt funkcí .NET Contoso.EnterpriseVyberte šablonu pro první pracovní postup projektu:
- Stavový pracovní postup
- Bezstavové pracovní postupy
- Autonomní agent
- Konverzační agent
- Prozatím přeskočitStavový pracovní postup Název pracovního postupu weather-workflowChcete-li vybrat , jak chcete otevřít výzvu k otevření projektu , vyberte Otevřít v aktuálním okně.
Po dokončení tohoto kroku Visual Studio Code vytvoří pracovní prostor, který obsahuje projekt funkcí .NET a projekt aplikace logiky, například:
Screenshot zobrazuje vytvořený pracovní prostor s projektem aplikace logiky a projektem funkcí .NET.
V okně Průzkumníka si všimněte následujících složek ve vašem pracovním prostoru:
Složka Popis < název pracovního prostoru> Obsahuje projekt .NET funkcí i projekt pracovního postupu aplikace logiky. < název aplikace logiky> Obsahuje soubory a další artefakty projektu aplikace logiky. Například souborworkflow.json je soubor definice pracovního postupu, kde můžete vytvořit pracovní postup. < function-name> Obsahuje soubory a další artefakty projektu funkcí .NET. Například <název funkce>.cs je soubor, ve kterém můžete napsat svůj kód. Pro Povolit konektory pro Azure pro Logic Apps <logic-app-name> vyberte Použít konektory z Azure.
U výzvy Vyberte předplatné vyberte požadované předplatné Azure.
U výzvy Vybrat skupinu prostředků pro nové prostředky vyberte požadovanou skupinu prostředků nebo vytvořte novou skupinu prostředků.
U výzvy Vyberte umístění pro nové prostředky vyberte oblast Azure pro nasazení.
Pro metodu ověřování Select pro konektory Azure vyberte typ ověřování, který se má použít pro připojení, která potřebují ověřování.
Typ autentizace Popis Spravovaná identita Vyberte identitu spravované služby , pokud chcete pro prostředek aplikace logiky použít identitu přiřazenou systémem nebo přiřazenou uživatelem.
Prostředky standardní aplikace logiky už mají povolenou identitu přiřazenou systémem. Musíte však nastavit identitu s přístupem k roli na cílovém prostředku a splnit všechny další požadavky.
Další informace najdete v tématu Přiřazení přístupu na základě role ke spravované identitě.Klíče připojení Nastavte přístup k cílovému prostředku pomocí připojovacích řetězců a přístupových klíčů.
Po dokončení těchto kroků pokračujte k další části, abyste mohli vytvořit kód.
2: Napsání kódu
V okně Průzkumníka rozbalte složku projektu funkce a otevřete < soubor název> funkce.cs.
Tento soubor obsahuje ukázkový kód a konkrétní prvky kódu s hodnotami, které jste zadali dříve.
V tomto příkladu soubor funkce WeatherForecast.cs obsahuje tyto prvky kódu s ukázkovými hodnotami:
Element kódu Hodnota Název namespace Contoso.EnterpriseNázev třídy WeatherForecastNázev funkce WeatherForecastParametry funkce zipcode,temperatureScaleNávratový typ TaskKomplexní typ WeatherNásledující příklad ukazuje kompletní vzorový kód:
//------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //------------------------------------------------------------ namespace Contoso.Enterprise { using System; using System.Collections.Generic; using System.Threading.Tasks; using Microsoft.Azure.Functions.Extensions.Workflows; using Microsoft.Azure.WebJobs; using Microsoft.Extensions.Logging; /// <summary> /// Represents the WeatherForecast flow invoked function. /// </summary> public class WeatherForecast { private readonly ILogger<WeatherForecast> logger; public WeatherForecast(ILoggerFactory loggerFactory) { logger = loggerFactory.CreateLogger<WeatherForecast>(); } /// <summary> /// Executes the logic app workflow. /// </summary> /// <param name="zipCode">The zip code.</param> /// <param name="temperatureScale">The temperature scale (e.g., Celsius or Fahrenheit).</param> [FunctionName("WeatherForecast")] public Task<Weather> Run([WorkflowActionTrigger] int zipCode, string temperatureScale) { this.logger.LogInformation("Starting WeatherForecast with Zip Code: " + zipCode + " and Scale: " + temperatureScale); // Generate random temperature within a range based on the temperature scale Random rnd = new Random(); var currentTemp = temperatureScale == "Celsius" ? rnd.Next(1, 30) : rnd.Next(40, 90); var lowTemp = currentTemp - 10; var highTemp = currentTemp + 10; // Create a Weather object with the temperature information var weather = new Weather() { ZipCode = zipCode, CurrentWeather = $"The current weather is {currentTemp} {temperatureScale}", DayLow = $"The low for the day is {lowTemp} {temperatureScale}", DayHigh = $"The high for the day is {highTemp} {temperatureScale}" }; return Task.FromResult(weather); } /// <summary> /// Represents the weather information for WeatherForecast. /// </summary> public class Weather { /// <summary> /// Gets or sets the zip code. /// </summary> public int ZipCode { get; set; } /// <summary> /// Gets or sets the current weather. /// </summary> public string CurrentWeather { get; set; } /// <summary> /// Gets or sets the low temperature for the day. /// </summary> public string DayLow { get; set; } /// <summary> /// Gets or sets the high temperature for the day. /// </summary> public string DayHigh { get; set; } } } }Definice funkce obsahuje výchozí
Runmetodu, kterou můžete použít k zahájení práce. Tato ukázková metodaRunukazuje některé funkce dostupné s funkcí vlastních funkcí, jako je předávání různých vstupů a výstupů, včetně složitých typů .NET.Soubor <název> funkce.cs obsahuje
ILoggertaké rozhraní, které poskytuje podporu protokolování událostí do prostředku Application Insights. Informace o trasování můžete odesílat do Application Insights a ukládat je pomocí informací o trasování z pracovních postupů, například:private readonly ILogger<WeatherForecast> logger; public WeatherForecast(ILoggerFactory loggerFactory) { logger = loggerFactory.CreateLogger<WeatherForecast>(); } [FunctionName("WeatherForecast")] public Task<Weather> Run([WorkflowActionTrigger] int zipCode, string temperatureScale) { this.logger.LogInformation("Starting WeatherForecast with Zip Code: " + zipCode + " and Scale: " + temperatureScale); <...> }Nahraďte vzorový kód funkce vlastními a upravte výchozí
Runmetodu pro konkrétní scénáře. Nebo můžete funkci zkopírovat, včetně[FunctionName("<function-name>")]deklarace, a pak ji přejmenovat jedinečným názvem. Přejmenovanou funkci pak můžete upravit tak, aby vyhovovala vašim potřebám.
Tento příklad pokračuje s původním vzorovým kódem za předpokladu, že se nezmění.
3: Kompilace a sestavení kódu
Po napsání kódu ho zkompilujte, abyste měli jistotu, že neexistují žádné chyby sestavení. Projekt funkcí .NET automaticky zahrnuje úlohy sestavení, které kompilují a přidávají váš kód do složky lib\custom v projektu aplikace logiky, kde pracovní postupy hledají vlastní funkce ke spuštění. V závislosti na vaší verzi .NET umístí tyto úlohy soubory do složky lib\custom\net472 nebo lib\custom\net8.
Postupujte takto:
V Visual Studio Code na panelu aktivit vyberte Explorer.
V okně Průzkumníka otevřete místní nabídku pro složku projektu funkcí a vyberte Sestavit projekt funkcí.
Úloha sestavení se spustí pro projekt s funkcemi. Pokud je sestavení úspěšné, zobrazí se v okně Terminálu zpráva o úspěšném sestavení .
Ověřte, že v projektu aplikace logiky existují následující položky:
V pracovním prostoru rozbalte následující složky: <your-logic-app>>lib\custom>net472 nebo net8, na základě vaší .NET verze. Ověřte, že podsložka s názvem net472 nebo net8 obsahuje soubory sestavení (DLL) potřebné ke spuštění kódu, včetně souboru s názvem <název> funkce.dll.
V pracovním prostoru rozbalte následující složky: <váš logický diagram>>lib\custom><název funkce>. Ověřte, že podsložka s názvem <název funkce> obsahuje soubor function.json, který obsahuje metadata o kódu funkce, který jste napsali. Návrhář pracovního postupu používá tento soubor k určení potřebných vstupů a výstupů při volání kódu.
Následující příklad ukazuje ukázková vygenerovaná sestavení a další soubory v projektu aplikace logiky:
4: Volání kódu z pracovního postupu
Po potvrzení, že se kód zkompiluje a projekt aplikace logiky obsahuje potřebné soubory ke spuštění kódu, nastavte pracovní postup tak, aby volal váš kód.
V okně Průzkumníka rozbalte <název pracovního prostoru>, <název aplikace logiky> a potom <název pracovního postupu>.
Otevřete místní nabídku pro workflow.json, a vyberte Otevřít návrháře.
Otevře se návrhář pracovního postupu a zobrazí výchozí pracovní postup s následující aktivační událostí a akcemi:
Operation Popis Spouštěč Předdefinovaný trigger požadavku s názvem Při přijetí požadavku HTTP. Action Integrovaná akce s názvem Volání místní funkce v této logické aplikaci. Action Předdefinovaná akce Odpovědi s názvem Odpověď , kterou používáte k odpovídání volajícímu, pouze když použijete trigger Požadavku . V návrháři vyberte akci s názvem Volání místní funkce v této aplikaci logiky.
Otevře se informační podokno akce, abyste mohli nastavit konfiguraci vlastního volání funkce, například:
Zkontrolujte a ověřte, že je hodnota parametru název funkce nastavená na funkci, kterou chcete spustit. Zkontrolujte nebo změňte jakékoli jiné hodnoty parametrů, které vaše funkce používá.
5: Ladění kódu a procesu
Pro každou z následujících služeb Azure Storage spusťte emulátor úložiště Azurite:
- Azure Blob Service
- služba fronty Azure
- Azure Table Service
V nabídce Visual Studio Code View vyberte Command Palette.
Na příkazovém řádku, který se zobrazí, vyberte Azurite: Spusťte službu Blob Service ze seznamu.
V zobrazeném seznamu pracovních adresářů vyberte aplikaci logiky.
Opakujte tento postup pro Azurite: Spustit službu fronty a Azurite: Spustit službu tabulky.
Pokud budete úspěšní, na hlavním panelu Visual Studio Code v dolní části obrazovky se zobrazí tři spuštěné služby úložiště.
Následujícím postupem připojte ladicí program k projektu aplikace logiky i k projektu .NET funkcí:
V Visual Studio Code na panelu aktivit vyberte Run and Debug (klávesnice: Ctrl+Shift+D).
V seznamu Spustit a ladit vyberte spustit/ladit aplikaci logiky s místní funkcí (<aplikace >) a pak vyberte Přehrát (zelená šipka).
Dojde k následujícím událostem:
- Otevře se okno terminálu a zobrazí se spuštěný proces ladění.
- Otevře se okno konzoly ladění a zobrazí se stav ladění.
- V dolní části Visual Studio Code se hlavní panel změní na oranžovou, což znamená, že se načte ladicí program .NET.
Pokud chcete nastavit zarážky, najděte v definici funkce (<název> funkce.cs) nebo definici pracovního postupu (workflow.json), najděte číslo řádku, kde chcete zarážku, a vyberte sousední sloupec, například:
Pokud chcete trigger požadavku spustit ručně ve vašem pracovním postupu, otevřete stránku Přehled pracovního postupu:
Ve vašem projektu logické aplikace nejprve otevřete kontextovou nabídku souboru workflow.json a pak vyberte Přehled.
Na stránce Přehled pracovního postupu je tlačítko Spustit trigger k dispozici, pokud chcete pracovní postup spustit ručně. V části Vlastnosti pracovního postupu je hodnota Callback URL adresou URL pro volatelný koncový bod vytvořený triggerem požadavku ve vašem pracovním postupu. Na tuto adresu URL můžete odesílat požadavky, které aktivují pracovní postup z jiných aplikací, včetně dalších pracovních postupů aplikace logiky.
Na panelu nástrojů na stránce Přehled vyberte Spustit spouštěč.
Jakmile se pracovní postup spustí, ladicí program aktivuje první bod přerušení.
V nabídce Spustit nebo panelu nástrojů ladicího programu vyberte ladicí akci.
Po dokončení pracovního postupu se na stránce Přehled zobrazí dokončené spuštění a základní podrobnosti o tomto spuštění.
Pokud chcete zkontrolovat informace o běhu pracovního postupu, vyberte ukončený běh. Nebo v seznamu vedle sloupce Doba trvání vyberte Zobrazit spuštění.
6: Nasazení kódu
Nasaďte vlastní funkce stejným způsobem, jakým nasazujete projekt aplikace logiky. Bez ohledu na to, jestli nasazujete z Visual Studio Code nebo používáte proces CI/CD DevOps, ujistěte se, že před nasazením sestavíte kód. Před nasazením také zajistěte, aby všechna závislá sestavení existovala v následující složce projektu aplikace logiky:
.NET 4.7.2: složka lib/custom/net472
.NET 8: složka lib/custom/net8
Další informace naleznete v tématu Nasazení standardních pracovních postupů z Visual Studio Code do Azure.
Injekce závislostí
Když zvolíte .NET 8, vlastní kód .NET ve standardních pracovních postupech podporuje vkládání závislostí (DI). Tato funkce umožňuje registrovat služby jednou, díky čemuž jsou automaticky dostupné vašim vlastním funkcím kódu za běhu, a ne vytvářet závislosti uvnitř jednotlivých funkcí.
Poznámka:
Podporu injektování závislostí poskytují pouze vlastní projekty kódu .NET 8 ve Visual Studio Code.
Bez vkládání závislostí často vlastní funkce kódu:
- Vytvořte instance služby přímo ve funkci.
- Duplicitní logika napříč několika funkcemi nebo pracovními postupy
- Obchodní logiku můžete kombinovat s nastavením a konfiguračním kódem.
S růstem pracovních postupů se vlastní kód stává obtížnější testovat, opakovaně používat a udržovat. Pomocí injekce závislostí můžete:
- Oddělte obchodní logiku od provádění pracovního postupu.
- Opakovaně používejte sdílené služby napříč několika funkcemi vlastního kódu.
- Zarovnejte vlastní kód podle standardních vzorů vývoje .NET.
Vlastní kód se stává lépe spravovatelný v produkčních pracovních postupech, zejména pokud více pracovních postupů spoléhá na stejnou logiku.
Kdy použít injektáž závislostí
Pokud máte jednoduché nebo jednorázové funkce vlastního kódu, pravděpodobně nepotřebujete injektáž závislostí. Pokud má ale váš vlastní kód následující požadavky, budete možná muset použít injektáž závislostí:
- Několik pracovních postupů používá nebo sdílí stejné vlastní funkce kódu.
- Funkce vlastního kódu obsahují obchodní logiku nebo logiku směrování, která se mění v průběhu času.
- Požadujete lepší testovatelnost nebo dlouhodobou udržovatelnost.
Vliv injektáže závislostí na vlastní funkce .NET
Injektování závislostí nemění způsob volání vlastních funkcí .NET ani průběh pracovního postupu. Tato funkce změní pouze základní strukturu vlastního kódu, ale vytvoří stejný výsledek. Tento proces popisuje následující kroky:
- Azure Logic Apps načte váš projekt vlastního kódu.
- Azure Logic Apps vytváří instance, registruje a vkládá požadované služby do funkce.
- Funkce se spustí pomocí vložených závislostí.
Povolit injektování závislostí
Pokud chcete použít dependency injection s vlastním kódem .NET, splňte následující požadavky:
Při vytváření vlastního projektu kódu vyberte .NET 8.
Podporu pro injekci závislostí mají pouze projekty s vlastním kódem v .NET 8.
V projektu přidejte
StartupConfigurationtřídu, která definuje seznam závislostí. ImplementujteIConfigureStartuprozhraní a zaregistrujte vaše závislosti pomocíIServiceCollection, například:using Microsoft.Azure.Functions.Extensions.Workflows; using Microsoft.Extensions.DependencyInjection; public class StartupConfiguration : IConfigureStartup { /// <summary> /// Configures services for the custom code function to use. /// </summary> /// <param name="services">The service collection to configure.</param> public void Configure(IServiceCollection services) { // Register the routing service with dependency injection services.AddSingleton<IRoutingService, OrderRoutingService>(); services.AddSingleton<IDiscountService, DiscountService>(); } }Rozhraní
IConfigureStartupje definováno vMicrosoft.Extensions.DependencyInjection. Další informace najdete v tématu StartupConfiguration.csV konstruktoru třídy vlastní funkce kódu inicializujete registrované služby tak, že je definujete jako parametry konstruktoru, nikoli je vytvoříte uvnitř funkce, například:
public class MySampleFunction { private readonly ILogger<MySampleFunction> logger; private readonly IRoutingService routingService; private readonly IDiscountService discountService; public MySampleFunction(ILoggerFactory loggerFactory, IRoutingService routingService, IDiscountService discountService) { this.logger = loggerFactory.CreateLogger<MySampleFunction>(); this.routingService = routingService; this.discountService = discountService; } // Add your function logic here }
Kromě sestavování a nasazování vlastního projektu kódu nemusíte provádět žádné další kroky, upravovat pracovní postup ani provádět jakékoli jiné změny nastavení v Azure Logic Apps, abyste umožnili injektáž závislostí.
Další informace najdete v ukázce dependency injection pro vlastní kód.
Používání vlastních balíčků NuGet
U vlastních projektů kódu založených na NuGetu, které používají .NET 8, můžete zahrnout a spravovat vlastní balíčky NuGet, aniž byste museli řešit konflikty se závislostmi používanými jazykovým pracovním hostitelem. Stačí přímo přidat závislosti sestavení do samostatného umístění sestavení v projektu. S následujícími výjimkami můžete použít libovolné .NET 8-kompatibilní verze sestavení, které váš projekt potřebuje.
- Microsoft.Extensions.Logging.Abstractions
- Microsoft.Extensions.DependencyInjection.Abstractions
- Microsoft.Azure.Functions.Extensions.Workflows.Abstractions
Řešte problémy
Chyba v podokně informací o akci
Když v návrháři pracovního postupu vyberete integrovanou akci s názvem Volání místní funkce v této aplikaci logiky, zobrazí se v informačním podokně akce následující zpráva:
Failed to retrieve dynamic inputs. Error details:
V tomto scénáři zkontrolujte projekt aplikace logiky a zkontrolujte, jestli je logicApp\lib\custom složka prázdná. Pokud je prázdná, v nabídce Terminál vyberte Spustit úlohu a poté >.
Aktuálně není spuštěn žádný proces se zadaným názvem.
Pokud se při spuštění pracovního postupu zobrazí tato chybová zpráva, pravděpodobně jste proces ladicího programu připojili k .NET Functions, a ne k aplikaci logiky.
Pokud chcete tento problém vyřešit, vyberte v seznamu Spustit a ladit možnost Připojit k aplikaci logiky (LogicApp) a pak vyberte Přehrát (zelený trojúhelník).
Balíček se neimportoval správně
Pokud se v okně Výstup zobrazí chyba podobná následující zprávě, ujistěte se, že máte nainstalovanou alespoň .NET 6.0. Pokud máte tuto verzi nainstalovanou, zkuste ji odinstalovat a znovu nainstalovat.
C:\Users\yourUserName\.nuget\packages\microsoft.net.sdk.functions\4.2.0\build\Microsoft.NET.Sdk.Functions.targets(83,5): warning : The ExtensionsMetadataGenerator package was not imported correctly. Are you missing 'C:\Users\yourUserName\.nuget\packages\microsoft.azure.webjobs.script.extensionsmetadatagenerator\4.0.1\build\Microsoft.Azure.WebJobs.Script.ExtensionsMetadataGenerator.targets' or 'C:\Users\yourUserName\.nuget\packages\microsoft.azure.webjobs.script.extensionsmetadatagenerator\4.0.1\build\Microsoft.Azure.WebJobs.Script.ExtensionsMetadataGenerator.props'? [C:\Desktop\...\custom-code-project\MyLogicAppWorkspace\Function\WeatherForecast.csproj] WeatherForecast -> C:\Desktop\...\custom-code-project\MyLogicAppWorkspace\Function\\bin\Debug\net472\WeatherForecast.dll C:\Users\yourUserName\.nuget\packages\microsoft.net.sdk.functions\4.2.0\build\Microsoft.NET.Sdk.Functions.Build.targets(32,5): error : It was not possible to find any compatible framework version [C:\Desktop\...\custom-code-project\MyLogicAppWorkspace\Function\WeatherForecast.csproj] C:\Users\yourUserName\.nuget\packages\microsoft.net.sdk.functions\4.2.0\build\Microsoft.NET.Sdk.Functions.Build.targets(32,5): error : The specified framework 'Microsoft.NETCore.App', version '6.0.0' was not found. [C:\Desktop\...\custom-code-project\MyLogicAppWorkspace\Function\WeatherForecast.csproj] C:\Users\yourUserName\.nuget\packages\microsoft.net.sdk.functions\4.2.0\build\Microsoft.NET.Sdk.Functions.Build.targets(32,5): error : - Check application dependencies and target a framework version installed at: [C:\Desktop\...\custom-code-project\MyLogicAppWorkspace\Function\WeatherForecast.csproj]
Selhání sestavení
Pokud vaše funkce neobsahuje proměnné a sestavíte kód, může se v okně Výstup zobrazit následující chybové zprávy:
C:\Users\yourUserName\...\custom-code-project\Function\func.cs (24,64): error CS1031: Type expected [C:\Users\yourUserName\...\custom-code-project\Function\func.csproj]
C:\Users\yourUserName\...\custom-code-project\Function\func.cs (24,64): error CS1001: Identifier expected [C:\Users\yourUserName\...\custom-code-project\Function\func.csproj]
Build FAILED.
C:\Users\yourUserName\...\custom-code-project\Function\func.cs (24,64): error CS1031: Type expected [C:\Users\yourUserName\...\custom-code-project\Function\func.csproj]
C:\Users\yourUserName\...\custom-code-project\Function\func.cs (24,64): error CS1001: Identifier expected [C:\Users\yourUserName\...\custom-code-project\Function\func.csproj]
0 Warning(s)
2 Error(s)
Pokud chcete tento problém vyřešit, přidejte v metodě kódu Run následující parametr:
string parameter1 = null
Následující příklad ukazuje, jak vypadá podpis metody Run:
public static Task<Weather> Run([WorkflowActionTrigger] int zipCode, string temperatureScale, string parameter1 = null)
Související obsah
Vytvoření pracovních postupů standardní aplikace logiky pomocí Visual Studio Code