Azure Logic Apps'te Standart iş akışlarından .NET kodu oluşturma ve çalıştırma

Şunlar için geçerlidir: Azure Logic Apps (Standart)

Standart mantıksal uygulama iş akışınızdan .NET kodu yazmanız ve çalıştırmanız gereken tümleştirme çözümleri için Visual Studio Code'u Azure Logic Apps (Standart) uzantısıyla kullanabilirsiniz. Bu uzantı aşağıdaki özellikleri ve avantajları sağlar:

  • En zorlu tümleştirme sorunlarınızı çözmek için esneklik ve denetime sahip işlevler oluşturarak kendi kodunuzu yazın.
  • Visual Studio Code'da kodun hatalarını yerel olarak ayıklayın. Aynı hata ayıklama oturumunda kodunuzda ve iş akışlarınızda adım adım ilerleyin.
  • İş akışlarınızla birlikte kod dağıtın. Başka hizmet planı gerekmez.
  • Şirket içinden buluta özel .NET yatırımlarını kaldırıp kaydırabilmeniz için BizTalk Server geçiş senaryolarını destekleyin.

Kendi kodunuzu yazma özelliği sayesinde aşağıdaki gibi senaryoları gerçekleştirebilirsiniz:

  • Özel iş mantığı uygulaması
  • Gelen iletiden bilgi ayıklamak için özel ayrıştırma
  • Veri doğrulama ve basit dönüştürmeler
  • API gibi başka bir sisteme giden iletiler için ileti şekillendirme
  • Hesaplamalar

Bu özellik aşağıdaki gibi senaryolar için uygun değildir:

  • Çalışması 10 dakikadan uzun sürecek işlemler
  • Büyük ileti ve veri dönüştürmeleri
  • Karmaşık toplu işleme ve karmaştırma senaryoları
  • Akış uygulayan BizTalk Server işlem hattı bileşenleri

Azure Logic Apps'teki sınırlamalar hakkında daha fazla bilgi için bkz . Sınırlar ve yapılandırma - Azure Logic Apps.

Önkoşullar

  • Bir Azure hesabı ve aboneliği Aboneliğiniz yoksa, ücretsiz bir Azure hesabı için kaydolun.

  • Azure Logic Apps (Standart) uzantısına sahip en son Visual Studio Code. Bu gereksinimleri karşılamak için Visual Studio Code ile tek kiracılı Azure Logic Apps'te Standart iş akışları oluşturma önkoşullarına bakın.

    • Özel işlevler özelliği şu anda yalnızca Windows işletim sisteminde çalışan Visual Studio Code'da kullanılabilir.

    • Özel işlevler özelliği şu anda Azure tarafından barındırılan mantıksal uygulama iş akışları için .NET Framework ve .NET 8 çağrısını destekler.

  • Kod projenizi oluşturmak için kullanılacak yerel klasör

Sınırlamalar

  • Özel işlevler yazma özelliği şu anda Azure portalında kullanılamıyor. Ancak, işlevlerinizi Visual Studio Code'dan Azure'a dağıttığınızda Azure portalı için bir iş akışından kodunuzu çağırma bölümünde yer alan adımları izleyin. Dağıtılan özel işlevlerinizden seçim yapmak ve kodunuzu çalıştırmak için Bu mantıksal uygulamada Yerel işlev çağır adlı yerleşik eylemi kullanabilirsiniz. İş akışınızdaki sonraki eylemler, diğer tüm iş akışlarında olduğu gibi bu işlevlerden gelen çıkışlara başvurabilir. Yerleşik eylemin çalıştırma geçmişini, girişlerini ve çıkışlarını görüntüleyebilirsiniz.

  • Özel işlevler, mantıksal uygulama iş akışınızdaki kodu çağırmak için yalıtılmış bir çalışan kullanır. Kendi işlev kodunuzla çalışan arasında paket başvuruları çakışmalarını önlemek için, çalışan tarafından başvuruda bulunan paket sürümlerini kullanın. Çalışanın başvurdığı tam paket listesi ve sürümleri için bkz . Çalışan ve paket bağımlılıkları.

Kod projesi oluşturma

Visual Studio Code için en son Azure Logic Apps (Standart) uzantısı, iş akışlarınızla kendi kodunuzu yazmak, hata ayıklamak ve dağıtmak için kolaylaştırılmış bir deneyim sağlayan bir kod projesi şablonu içerir. Bu proje şablonu bir çalışma alanı dosyası ve iki örnek proje oluşturur: kodunuzu yazmak için bir proje, iş akışlarınızı oluşturmak için diğer proje.

Not

Hem kodunuz hem de iş akışlarınız için aynı proje klasörünü kullanamazsınız.

  1. Visual Studio Code'u açın. Etkinlik Çubuğu'nda Azure simgesini seçin. (Klavye: Shift+Alt+A)

  2. Açılan Azure penceresinde, Çalışma Alanı bölüm araç çubuğunda, Azure Logic Apps menüsünden Yeni mantıksal uygulama çalışma alanı oluştur'u seçin.

    Visual Studio Code, Azure penceresi, Çalışma Alanı bölüm araç çubuğu ve Yeni mantıksal uygulama çalışma alanı oluştur seçeneğini gösteren ekran görüntüsü.

  3. Klasör seç kutusunda, projeniz için oluşturduğunuz yerel klasöre göz atın ve seçin.

  4. Yeni mantıksal uygulama çalışma alanı oluştur istemi kutusu görüntülendiğinde, çalışma alanınız için bir ad belirtin:

    Çalışma alanı adını girme istemiyle Visual Studio Code'u gösteren ekran görüntüsü.

    Bu örnek MyLogicAppWorkspace ile devam eder.

  5. Mantıksal uygulama çalışma alanınız için proje şablonu seçin istemi kutusu görüntülendiğinde Özel kod projesi ile mantıksal uygulama'yı seçin.

    Visual Studio Code'u gösteren ekran görüntüsü, mantıksal uygulama çalışma alanı için proje şablonu seçme istemini gösterir.

  6. Azure tarafından barındırılan Standart mantıksal uygulama iş akışları için istemi izleyerek .NET Framework veya .NET 8'i seçin.

  7. Aşağıdaki örnek değerleri sağlamak için sonraki istemleri izleyin:

    Kalem Örnek değer
    .NET işlevleri projenizin işlev adı WeatherForecast
    .NET işlevleri projenizin ad alanı adı Contoso.Enterprise
    İş akışı şablonu:
    - Durum Bilgisi Olan İş Akışı
    - Durum Bilgisi Olmayan İş Akışı
    Durum Bilgisi Olan İş Akışı
    İş akışı adı MyWorkflow
  8. Geçerli pencerede aç'ı seçin.

    Bu adımı tamamladıktan sonra Visual Studio Code, varsayılan olarak bir .NET işlevleri projesi ve mantıksal uygulama projesi içeren çalışma alanınızı oluşturur, örneğin:

    Oluşturulan çalışma alanı ile Visual Studio Code'un gösterildiği ekran görüntüsü.

    Düğüm Açıklama
    <çalışma alanı-adı> .NET işlevleri projenizi ve mantıksal uygulama iş akışı projenizi içerir.
    İşlevler .NET işlevleri projenizin yapıtlarını içerir. Örneğin işlev <adı>.cs dosyası, kodunuzu yazabileceğiniz kod dosyasıdır.
    LogicApp Boş bir iş akışı dahil olmak üzere mantıksal uygulama projenizin yapıtlarını içerir.

Kodunuzu yazma

  1. Çalışma alanınızda, henüz genişletilmemişse İşlevler düğümünü genişletin.

  2. Bu örnekte WeatherForecast.cs <olarak adlandırılan işlev-adı>.cs dosyasını açın.

    Varsayılan olarak, bu dosya aşağıdaki kod öğelerinin yanı sıra uygun yerlerde önceden sağlanan örnek değerleri içeren örnek kodu içerir:

    • Ad alanı adı
    • Sınıf adı
    • İşlev adı
    • İşlev parametreleri
    • Dönüş türü
    • Karmaşık tür

    Aşağıdaki örnekte örnek kodun tamamı gösterilmektedir:

    //------------------------------------------------------------
    // 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; }
            }
        }
    }
    

    İşlev tanımı, başlamak için kullanabileceğiniz varsayılan Run bir yöntem içerir. Bu örnek Run yöntem, karmaşık .NET türleri de dahil olmak üzere farklı giriş ve çıkışları geçirme gibi özel işlevler özelliğiyle kullanılabilen bazı özellikleri gösterir.

    İşlev-adı><.cs dosyası, application insights kaynağına olayları günlüğe kaydetme desteği sağlayan arabirimini de içerir.ILogger Application Insights'a izleme bilgileri gönderebilir ve bu bilgileri iş akışlarınızdaki izleme bilgileriyle birlikte depolayabilirsiniz, örneğin:

    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);
    
        <...>
    
    }
    
  3. Örnek işlev kodunu kendinizle değiştirin ve kendi senaryolarınız için varsayılan Run yöntemi düzenleyin. İsterseniz, bildirimi de dahil olmak üzere [FunctionName("<*function-name*>")] işlevi kopyalayabilir ve ardından işlevi benzersiz bir adla yeniden adlandırabilirsiniz. Ardından yeniden adlandırılan işlevi gereksinimlerinizi karşılayacak şekilde düzenleyebilirsiniz.

Bu örnek, değişiklik yapmadan örnek kodla devam eder.

Kodunuzu derleme ve derleme

Kodunuzu yazmayı bitirdikten sonra derleme hatası olmadığından emin olmak için derleyin. .NET işlevleri projeniz otomatik olarak derleme görevlerini içerir. Bu görevler derlenip kodunuzu iş akışlarının çalıştırılacak özel işlevleri arayabileceği mantıksal uygulama projenizdeki lib\custom klasörüne ekler. Bu görevler derlemeleri .NET sürümünüz temelinde lib\custom\net472 veya lib\custom\net8 klasörüne koyar.

  1. Visual Studio Code'da, Terminal menüsünden Yeni Terminal'i seçin.

  2. Görüntülenen çalışma dizini listesinden, yeni terminal için geçerli çalışma dizininiz olarak İşlevler'i seçin.

    Visual Studio Code' u, geçerli çalışma dizinini ve seçili İşlevler dizinini gösteren ekran görüntüsü.

    Visual Studio Code, komut istemi içeren bir terminal penceresi açar.

  3. Terminal penceresindeki komut istemine dotnet restore yazın.

    Visual Studio Code, projelerinizi analiz eder ve bunların güncel olup olmadığını belirler.

    Visual Studio Code, Terminal penceresi ve tamamlanmış dotnet restore komutunu gösteren ekran görüntüsü.

  4. Komut istemi yeniden gösterildikten sonra dotnet build yazın. Veya Terminal menüsünde Görevi Çalıştır'ı seçin. Görev listesinden derleme (İşlevler) öğesini seçin.

    Derlemeniz başarılı olursa, Terminal penceresi Derlemenin başarılı olduğunu bildirir.

  5. Mantıksal uygulama projenizde aşağıdaki öğelerin mevcut olduğunu onaylayın:

    • Çalışma alanınızda şu klasörleri genişletin: LogicApp>lib\custom>net472 veya net8, .NET sürümünüz temelinde. sırasıyla net472 veya net8 adlı alt klasörün, function-name>.dll adlı< bir dosya da dahil olmak üzere kodunuzu çalıştırmak için gereken derleme (DLL) dosyalarını içerdiğini onaylayın.

    • Çalışma alanınızda şu klasörleri genişletin: LogicApp>lib\custom<>function-name.> function-name> adlı< alt klasörün yazdığınız işlev koduyla ilgili meta verileri içeren bir function.json dosyası içerdiğini onaylayın. İş akışı tasarımcısı, kodunuzu çağırırken gerekli girişleri ve çıkışları belirlemek için bu dosyayı kullanır.

    Aşağıdaki örnek, mantıksal uygulama projesinde örnek oluşturulan derlemeleri ve diğer dosyaları gösterir:

    Artık oluşturulan derlemeler ve diğer gerekli dosyalar ile .NET işlevleri projesi ve mantıksal uygulama projesi ile Visual Studio Code ve mantıksal uygulama çalışma alanını gösteren ekran görüntüsü.

Kodunuzu bir iş akışından çağırma

Kodunuzun derlendiğini ve mantıksal uygulama projenizin kodunuzun çalıştırılması için gerekli dosyaları içerdiğini onayladıktan sonra mantıksal uygulama projenize dahil edilen varsayılan iş akışını açın.

  1. Çalışma alanınızda LogicApp'in altında iş akışı adı> düğümünü< genişletin, workflow.json kısayol menüsünü açın ve Tasarımcıyı Aç'ı seçin.

    Açılan iş akışı tasarımcısında, mantıksal uygulama projenize dahil edilen varsayılan iş akışı aşağıdaki tetikleyici ve eylemlerle birlikte görüntülenir:

    • HTTP isteği alındığında adlı yerleşik İstek tetikleyicisi
    • Bu mantıksal uygulamada Yerel işlev çağır adlı yerleşik eylem
    • Yalnızca İstek tetikleyicisini kullandığınızda çağıranı yanıtlamak için kullandığınız Yanıt adlı yerleşik Yanıt eylemi
  2. Bu mantıksal uygulamada Yerel işlev çağır adlı eylemi seçin.

    Eylemin bilgi bölmesi sağ tarafta açılır.

    Tetikleyici ve eylemler içeren Visual Studio Code, iş akışı tasarımcısı ve varsayılan iş akışını gösteren ekran görüntüsü.

  3. İşlev Adı parametre değerinin çalıştırmak istediğiniz işleve ayarlandığını gözden geçirin ve onaylayın. İşlevinizin kullandığı diğer parametre değerlerini gözden geçirin veya değiştirin.

Kodunuzda ve iş akışınızda hata ayıklama

  1. Azurite depolama öykünücüsü'ne üç kez başlamak için aşağıdaki adımları yineleyin: Aşağıdaki Azure Depolama hizmetleri için her biri bir kez:

    • Azure Blob Hizmeti
    • Azure Kuyruk Hizmeti
    • Azure Tablo Hizmeti
    1. Visual Studio Code Görünümü menüsünden Komut Paleti'ni seçin.

    2. Görüntülenen istemde Azurite: Blob Hizmetini Başlat'ı bulun ve seçin.

    3. Görüntülenen çalışma dizini listesinden LogicApp'i seçin.

    4. Azurite için şu adımları yineleyin: Kuyruk Hizmetini Başlat ve Azurite: Tablo Hizmetini Başlat.

    Ekranın alt kısmındaki Visual Studio Code görev çubuğu çalışan üç depolama hizmetini gösterdiğinde başarılısınızdır, örneğin:

    Azure Blob Hizmeti, Azure Kuyruk Hizmeti ve Azure Tablo Hizmeti'nin çalıştığı Visual Studio Code görev çubuğunu gösteren ekran görüntüsü.

  2. Aşağıdaki adımları izleyerek hata ayıklayıcıyı mantıksal uygulama projenize ekleyin:

    1. Visual Studio Code Etkinlik Çubuğu'nda Çalıştır ve Hata Ayıkla'yı seçin. (Klavye: Ctrl+Shift+D)

      Çalıştır ve Hata Ayıkla'nın seçili olduğu Visual Studio Code Etkinlik Çubuğu'nu gösteren ekran görüntüsü.

    2. Çalıştır ve Hata Ayıkla listesinden Mantıksal uygulamaya ekle (LogicApp) (henüz seçili değilse) seçeneğini belirleyin ve ardından Yürüt (yeşil ok) öğesini seçin.

      Mantıksal uygulamaya ekle ve Yürüt düğmesinin seçili olduğu Çalıştır ve Hata Ayıkla listesini gösteren ekran görüntüsü.

      Terminal penceresi açılır ve başlatılan hata ayıklama işlemini gösterir. Ardından Hata Ayıklama Konsolu penceresi görüntülenir ve hata ayıklama durumlarını gösterir. Visual Studio Code'un en altında görev çubuğu turuncuya döner ve .NET hata ayıklayıcısının yüklendiğini gösterir.

  3. Kodunuz temelinde aşağıdaki adımları izleyerek hata ayıklayıcıyı .NET işlevleri projenize ekleyin:

    .NET 8 projeleri

    1. Visual Studio Code Görünümü menüsünden Komut Paleti'ni seçin.

    2. Komut paletinden Hata Ayıkla: .NET 5+ veya .NET Core işlemine ekle'yi bulun ve seçin.

      NET İşlevlerine Ekle ve Yürüt düğmesinin seçili olduğu Çalıştır ve Hata Ayıkla listesini gösteren ekran görüntüsü.

    3. Listeden dotnet.exe işlemini bulun ve seçin. Birden çok dotnet.exe işlemi varsa, aşağıdaki yolu içeren işlemi seçin:

      <sürücü-adı>:\Users<user-name.azure-functions-core-tools>\Functions\ExtensionBundles\Microsoft.Azure.Functions.ExtensionBundle.Workflows<extension-bundle-version>\CustomCodeNetFxWorker\net8\Microsoft.Azure.Workflows.Functions.CustomCodeNetFxWorker.dll

    .NET Framework projeleri

    Çalıştır ve Hata Ayıkla listesinden henüz seçili değilse .NET İşlevleri'ne (İşlevler) ekle'yi ve ardından Yürüt (yeşil ok) öğesini seçin.

    NET İşlevlerine Ekle (İşlevler) öğesinin ve Yürüt düğmesinin seçili olduğu Çalıştır ve Hata Ayıkla listesini gösteren ekran görüntüsü.

  4. Kesme noktalarını ayarlamak için işlev tanımınızda (<işlev-adı>.cs) veya iş akışı tanımınızda (workflow.json), kesme noktasını istediğiniz satır numarasını bulun ve soldaki sütunu seçin, örneğin:

    Visual Studio Code'un ve koddaki bir satır için kesme noktasının ayarlandığı açık işlev kodu dosyasını gösteren ekran görüntüsü.

  5. İstek tetikleyicisini iş akışınızda el ile çalıştırmak için iş akışının Genel Bakış sayfasını açın.

    1. Mantıksal uygulama projenizde workflow.json dosyasının kısayol menüsünü açın ve Genel Bakış'ı seçin.

      İş akışının Genel Bakış sayfasında, iş akışını el ile başlatmak istediğinizde tetikleyiciyi çalıştır düğmesi kullanılabilir. İş Akışı Özellikleri'nin altında Geri Arama URL'si değeri, iş akışınızdaki İstek tetikleyicisi tarafından oluşturulan çağrılabilir uç noktanın URL'sidir. Diğer mantıksal uygulama iş akışları da dahil olmak üzere diğer uygulamalardan iş akışınızı tetikleme amacıyla bu URL'ye istek gönderebilirsiniz.

      Visual Studio Code'un ve iş akışının Genel Bakış sayfasının açıldığını gösteren ekran görüntüsü.

  6. Genel Bakış sayfası araç çubuğunda Tetikleyiciyi çalıştır'ı seçin.

    İş akışınız çalışmaya başladıktan sonra hata ayıklayıcı ilk kesme noktanızı etkinleştirir.

  7. Çalıştır menüsünde veya hata ayıklayıcı araç çubuğunda bir hata ayıklama eylemi seçin.

    İş akışı çalıştırması tamamlandıktan sonra, Genel Bakış sayfası tamamlanmış çalıştırmayı ve bu çalıştırmayla ilgili temel ayrıntıları gösterir.

  8. İş akışı çalıştırması hakkında daha fazla bilgi gözden geçirmek için tamamlanan çalıştırmayı seçin. Alternatif olarak, Süre sütununun yanındaki listeden Çalıştırmayı göster'i seçin.

    Visual Studio Code'u ve tamamlanan iş akışı çalıştırmalarını gösteren ekran görüntüsü.

Kodunuzu dağıtma

Özel işlevlerinizi mantıksal uygulama projenizi dağıttığınız şekilde dağıtabilirsiniz. Visual Studio Code'dan dağıtmanız veya CI/CD DevOps işlemi kullanmanız fark etmeksizin, kodunuzu oluşturduğunuzdan ve bağımlı tüm derlemelerin dağıtmadan önce aşağıdaki mantıksal uygulama proje klasöründe bulunduğundan emin olun:

  • .NET 4.7.2: lib/custom/net472 klasörü

  • .NET 8: lib/custom/net8 klasörü

Daha fazla bilgi için bkz . Visual Studio Code'dan Azure'a Standart iş akışları dağıtma.

Sorunları giderme

Eylem bilgileri bölmesi hatası

İş akışı tasarımcısında, Bu mantıksal uygulamada Yerel işlev çağır adlı yerleşik eylemi seçtiğinizde, eylemin bilgi bölmesi aşağıdaki iletiyi gösterir:

Failed to retrieve dynamic inputs. Error details:

Bu senaryoda LogicApp\lib\custom klasörünün boş olup olmadığını denetlemek için mantıksal uygulama projenizi inceleyin. Boşsa, Terminal menüsünde Görev>derleme İşlevlerini Çalıştır'ı seçin.

Belirtilen ada sahip hiçbir işlem şu anda çalışmıyor

İş akışınızı çalıştırdığınızda bu hata iletisini alırsanız, büyük olasılıkla hata ayıklayıcı işlemi mantıksal uygulamanız yerine .NET İşlevleri'ne eklenmiştir.

Bu sorunu çözmek için Çalıştır ve Hata Ayıkla listesinden Mantıksal uygulamaya ekle (LogicApp) öğesini ve ardından Yürüt (yeşil üçgen) öğesini seçin.

Paket doğru içeri aktarılmadı

Çıkış penceresinde aşağıdaki iletiye benzer bir hata görünüyorsa, en az .NET 6.0'ın yüklü olduğundan emin olun. Bu sürüm yüklüyse kaldırmayı ve sonra yeniden yüklemeyi deneyin.

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]

Derleme hataları

İşleviniz değişken içermiyorsa ve kodunuzu oluşturuyorsanız Çıkış penceresinde aşağıdaki hata iletileri gösterebilirsiniz:

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)

Bu sorunu çözmek için kodunuzun Run yöntemine aşağıdaki parametreyi ekleyin:

string parameter1 = null

Aşağıdaki örnekte yöntem imzasının Run nasıl göründüğü gösterilmektedir:

public static Task<Weather> Run([WorkflowActionTrigger] int zipCode, string temperatureScale, string parameter1 = null)

Sonraki adımlar

Visual Studio Code ile Standart iş akışları oluşturma