Vscode'daki Azure işlevi referans hataları verir

0

Soru

Buradaki talimatlara göre vscode'da yerel bir Azure İşlev projesi kurdum https://docs.microsoft.com/en-us/azure/azure-functions/create-first-function-vs-code-csharp?tabs=in-process

Oluşturulan varsayılan şablon işlevi, vscode'da çalıştırdığımda çalışır, ancak ekran görüntüsüne göre VSCode düzenleyicisinde referans hataları görüyorum.

Örneğin HttpRequest sınıfının tanımına gittiğimde Sorgu yöntemi göremiyorum.

Bunları nasıl düzeltebilirim?

Seçtiğim seçenekler C#,. NET 6, HTTP Tetikleyici, Anonim, Çalışma Alanına Ekle idi

. NET 6 SDK, Azure İşlev Araçları, C # uzantısı, Azure işlev uzantısı yükledim.

Teşekkür ederim

enter image description here

Düzenlemek: Başvuru hatalardan biri, init İ tam mesajı The type 'Attribute' is defined in an assembly that is not referenced. You must add a reference to assembly 'netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13 ...

azure-functions c# visual-studio-code
2021-11-23 22:21:08
2
0

Sorunu yeniden oluşturmaya çalıştım:

  1. İlk olarak, çalışma alanı klasörümü vscode'dan seçtim, enter image description here

  2. Kullanarak işlev projesi oluşturuldu func init VS Kod terminalinde komut. enter image description here

  3. Kullanarak işlev oluşturma func new terminaldeki komut seçili Http Trigger tetikleyicilerin açılır ekranından ve işlev adı olarak verilir Hello.

enter image description here

  1. Üzerine tıklayın Hello.cs ardından, aynı VS Kod penceresinin altında bir yan iletişim kutusu alırsınız.

enter image description here

Tıklatın Geri Yükleme.

veya

enter image description here

İki iletişim kutusu alırsanız, o ortam için gerekli olan NuGet paketlerini ve işlev bağımlılıklarını geri yükleyebilmesi için Geri Yükle ve Evet'i tıklatın. Geri yükle seçeneğini tıkladıktan hemen sonra çıkış terminalinin açıldığını da görebilirsiniz: enter image description here

Bunları ekledikten sonra, aşağıdaki gibi temiz, hatasız bir kullanıcı arayüzü elde edersiniz:

enter image description here

Not:

  1. Sınıfı / işlevi kodda el ile yazdıysanız, lütfen İşlev sınıfı adını hem kodda hem de dosya gezgini'nde yeniden adlandırıp adlandırmadığınızı kontrol edin:

enter image description here

Güncellenmiş Cevap:

Düzenlemelerinize ve yorumlarınıza göre,. NET SDK Sürüm 6'yı da yükledim ve projeyi VS Kodunda kontrol ettim ve bu kırmızı dalgalı çizgilerle geri yükleme iletişim kutusunu tekrar aldım. Geri yükleme seçeneğine tıkladıktan sonra, tüm kırmızı dalgalı çizgiler söndü ve bu Kavramın Kanıtı:

enter image description here

2021-11-24 06:24:28

bu ayrıntılı açıklama için teşekkürler. Projeyi tam olarak tarif ettiğiniz gibi oluşturmayı denedim (daha önce vscode'da Azure işlevleri kenar çubuğunu kullandım). Her şey tam olarak gösterdiğiniz gibi göründü, ancak Geri Yükle düğmesini aldığım noktada neredeyse tüm ekran kırmızı alt çizgilerle dolduruldu ve geri yükle'yi tıkladıktan sonra (yalnızca tek Geri Yükleme iletişim kutusunu aldım) Orijinal ekran görüntüsünde gösterilenle kaldım.
Thed

Geri Yükle'yi tıkladıktan sonra, bu kırmızı dalgalı çizgilerden kurtulmalısınız. Lütfen her adımı bir kez kontrol edin.
HariKrishnaRajoli-MT

VS Kodunda azure işlevlerinin oluşturulma biçimine dayanarak, yalnızca nuget paketlerini geri yükle iletişim kutusunu veya hem c# uzantı oluşturucusunu hem de geri yükle iletişim kutusunu alacak mısınız? Ancak iletişim kutusunda geri yükle'yi tıkladıysanız, paketleri, başvuruları ve bağımlılıkları bu projeye yükleyerek kırmızı dalgalı çizgileri kaldırmalıdır.
HariKrishnaRajoli-MT

Geri Yükle'yi tıklatmak sorunların çoğunu çözdü, dediğim gibi, Geri Yükle'yi tıklatmadan önce daha fazla olabilir. Ama bu hem projeyi ilk oluşturduğumda hem de daha yakın zamanda talimatlarınızı takip ettiğimde oldu
Thed

Azure Functions core tools'un en son sürümünü yüklediniz mi?
HariKrishnaRajoli-MT

Lütfen. Net Core 3 LTS veya. NET 5 yalıtılmış gibi azure işlevleri projesinde kullandığınız. net core sürümünü onaylayabilir misiniz?
HariKrishnaRajoli-MT

İşlevi iki farklı şekilde oluşturdum. İşlevi ilk kez Vscode'un kenar çubuğundaki Azure İşlevlerini kullanarak oluşturdum ve yeni yüklediğim.NET 6'yı seçebildim. Ne zaman kullanarak cretaed func init yukarıda anlattığınız gibi, sahip olduğum inly seçenekleri. NET 5,. NET 5 izolatı ve. NET 3.1 Çekirdeğiydi. . NET 5'i seçtim. Zaten sorun çözülecek. Ayrıntıları bir cevapta yayınlayacağım. Yardımlarınız için teşekkürler.
Thed
0

Bunu çözdüm, ancak tam olarak nasıl/ neden olduğundan emin değilim, bu yüzden başkasına yardım etmesi durumunda yaptığım şeyi yayınlayacağım.

Öncelikle Microsoft C # uzantısını kaldırdım ve yeniden yükledim. Bunun herhangi bir etkisi olduğunu sanmıyorum ve sorunu çözmemiş gibi görünüyor, yaptığım her şeyden bahsedeceğim gibi sadece bundan bahsediyorum.

Yukarıdaki Düzenlememde bulunan hatayı googlediğimde The type 'Attribute' is defined in an assembly that is not referenced. You must add a reference to assembly 'netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13 .NET 6 ve. NET 6'nın Yapı yardımcı programının belirli bir sürümünü nasıl gerektirdiği konusunda Visual Studio (VS Kodu değil) ile birlikte gelen MS Yapı aracına/ kitaplığına bazı referanslar buldum.

Öneri, daha önce yüklediğim ve MS Yapısını güncelleyecek olan Visual Studio'yu (VSCode değil) yükseltmekti.

Okuduklarımın çoğunu gerçekten anlamadım, ancak MS Build'i güncelleyeceği umuduyla Visual Studio Community 2019 yüklememi güncelledim ve işe yaramış gibi görünüyor.

Bunu Visual Studio olmadan yapmanın başka bir yolu olmasını bekliyorum, ancak yine de yüklediğim gibi bu yolu seçtim.

Son bir şey daha yattım ve uyudum, sonra sabah tekrar kontrol ettim.

Üç şeyden hangisinin işe yaradığından emin olamıyorum :)

2021-11-24 03:12:50

Visual Studio Yüklemesi olmadan VS Kodunda denediniz mi? VS Kodunda çalışacak, ancak Azure İşlevleri Uzantısı, Azure İşlevleri çekirdek araçları, C# uzantısı,. Net Çekirdeği, Python, Düğüm Js çerçeveleri vb. Gibi Dile özgü Kurulumlar gibi birkaç önkoşula ihtiyaç duyuyor.
HariKrishnaRajoli-MT

Eğer benim cevap oldu yardımcı Olabilir misin lütfen Kabul edin gibi bir Cevap, Peki Diğerleri kim karşılaşma aynı sorunu bulmak için bu çözüm ve tamir onların sorunu.
HariKrishnaRajoli-MT

Diğer dillerde

Bu sayfa diğer dillerde

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................