Visual Studio 2019 से Azure के लिए ASP.NET Core 3.1 साइट को प्रकाशित करने में त्रुटि


10

मेरे पास एक preexisting ASP.NET Core 3.0 अनुप्रयोग है जो सफलतापूर्वक एक Azure ऐप सेवा ( AspNetCoreModuleV2मॉड्यूल का उपयोग करके ) पर तैनात है । एप्लिकेशन को (आज की रिलीज) ASP.NET Core 3.1 में अपग्रेड करने के बाद, एप्लिकेशन आईआईएस एक्सप्रेस के मेरे स्थानीय संस्करण पर सही ढंग से बनाता और चलता है । जब मैं (आज के रिलीज) का उपयोग करके Azure ऐप सेवा को प्रकाशित करने का प्रयास करता हूं विज़ुअल स्टूडियो 16.4 , हालांकि, मुझे निम्न त्रुटि प्राप्त होती है:

एसेट फ़ाइल 'C: \ Project \ obj \ project.assets.json' के पास '.NETCoreApp, संस्करण = v3.0' के लिए कोई लक्ष्य नहीं है। सुनिश्चित करें कि पुनर्स्थापना चल चुकी है और आपने अपने प्रोजेक्ट के लिए 'netcoreapp3.0' को TargetFrameworks में शामिल किया है।

टिप्पणियाँ

  • सभी <PackageReference>के लिए Microsoft.AspNetCore, Microsoft.EntityFrameworkCoreऔरMicrosoft.Extensions करने के लिए अद्यतन किया गया है3.1.0
  • मैंने अपने समाधान को साफ कर दिया है, और यहां तक ​​कि मेरी नाक भी काट दी है obj सुनिश्चित करने के लिए फ़ोल्डर को बंद कर दिया है कि कोई भी संदर्भ नहीं हैं।
  • के 3.1.100संस्करण से यह त्रुटि उत्पन्न हो रही है Microsoft.PackageDependencyResolution.targets

मुझे लगता है कि कुछ अभी भी .NET कोर 3.0 निर्भरता पर लटका हुआ है । लेकिन यह स्पष्ट नहीं है कि केवल तैनाती के दौरान समस्या क्यों हो रही है। क्या Azure App Service अभी .NET .NET 3.1 के लिए तैयार नहीं है ? या यह निर्भरता संकल्प लक्ष्यों के साथ एक मुद्दा है?


इसके साथ टैग करने के लिए @Panagiotis Kanavos को धन्यवाद asp.net-core-3.1। मुझे नया टैग बनाने के लिए आवश्यक प्रतिष्ठा का अभाव था।
जेरेमी कैन

जाहिर है, मेरा अगला कदम एक नए ASP.NET Core 3.1 प्रोजेक्ट टेम्पलेट के साथ शुरू होगा , एक ताज़ा Azure App सेवा पर लागू करने का प्रयास , और तब तक निर्भरता को फिर से लागू करेगा जब तक कि मैं समस्या को पुन: उत्पन्न करने में सक्षम नहीं हो जाता। इस सप्ताह के अंत तक मेरे पास ऐसा करने का समय नहीं होगा। तब तक, मैं उम्मीद कर रहा था कि किसी और को इस प्रकार की त्रुटि के बारे में कुछ जानकारी हो सकती है, या कोई समाधान स्वयं मिल सकता है।
जेरेमी कैनी

डॉक्स दिखाते हैं कि .NET कोर एसडीके संस्करण को स्पष्ट रूप से कैसे चुनें । क्या आपने कोशिश की है? क्या 3.1 एसडीके सूची में दिखाई देता है?
पनगीओटीस कानावोस

@PanagiotisKanavos: यह परियोजना अभी तक Azure पाइपलाइनों का उपयोग करके प्रकाशित नहीं हुई है। जिसके अनुसार, इस करता है मुझे याद दिलाना है कि यह भी एक <TargetFramework>में सेटिंग pubxmlप्रोफ़ाइल कि दृश्य स्टूडियो पर निर्भर करता है, जो मैं पर स्थान दिया गया है। ऊप्स! लक्ष्य netcoreapp3.1से मिलान करने के लिए उसे बदलना csprojतत्काल मुद्दे को हल करता है। (यह एज़्योर ऐप सर्विस के साथ एक नए मुद्दे को पेश करता है जो लक्ष्य पर ट्रिपिंग करता है, लेकिन यह संभवत: आपके द्वारा प्रदान किए गए लिंक के समान एक स्व-निहित परिनियोजन का उपयोग करके हल किया जा सकता है।) मुझे सही दिशा में इंगित करने के लिए धन्यवाद!
जेरेमी कैन

1
खैर इस सवाल (और जवाब) को खोजने के लिए धन्यवाद। मैं ब्लीडिंग एज एमएस बदलाव (उनकी सिफारिश और प्रोत्साहन पर) को अपनाने से बहुत निराश होने लगा हूँ, केवल इस तरह के मुद्दों को चलाने के लिए।
फ्रैंक

जवाबों:


14

मूल प्रश्न के रूप में पहचाने जाने वाले तात्कालिक मुद्दे - वहाँ दो स्थानों <TargetFramework>पर सेट होने के साथ क्या करना है:

  1. प्रोजेक्ट फ़ाइल (जैसे,csproj )
  2. प्रकाशन प्रोफ़ाइल (यानी, pubxml)

<TargetFramework>में अद्यतन किया जाना चाहिए दोनों स्थानों, और वे से मेल खाना चाहिए बिल्कुल । अन्यथा, प्रकाशन project.assets.jsonफ़ाइल में अपने लक्ष्यों को खोजने में सक्षम नहीं होगा , जो फ़ाइल के आधार पर बनाया <TargetFramework>गया csjprojहै।

नोट: आप अच्छी तरह सेpubxmlफ़ाइल को फ़ाइल में<TargetFramework>सेट केलिए स्थगित करने कीउम्मीद कर सकते हैंcsproj, लेकिन ऐसा नहीं है।

पाठ संपादक

एक पाठ संपादक के माध्यम से यह संशोधन करने के लिए,

  1. को खोलो ~/Properties/PublishProfilesफ़ोल्डर ।
  2. को खोलो *.pubxml आप संपादित करना चाहते हैं उसे ।
  3. के मान को संशोधित <TargetFramework>करने के लिए netcoreapp3.1:
<TargetFramework>netcoreapp3.1</TargetFramework>

विजुअल स्टूडियो 2019

विजुअल स्टूडियो 2019 आईडीई के माध्यम से इस संशोधन को बनाने के लिए ,

  1. वेब वन क्लिक पब्लिश पर गियर आइकन पर क्लिक करें टूलबार (यह प्रकाशित आइकन के दाईं ओर है)।
  2. लक्ष्य फ्रेमवर्क को मानने के लिए सेट नहीं हैnetcoreapp3.1 , संपादित इसके बगल में आइकन पर क्लिक करें।
  3. सुनिश्चित करें कि लक्ष्य फ़्रेमवर्क के लिए सेट हैnetcoreapp3.1
  4. सहेजें पर क्लिक करें

चेतावनी: आईडीई का उपयोग करते समय, आप यहां एक समस्या में भाग सकते हैं। प्रोफ़ाइल को संपादित करते समय आपकोअपनी परियोजना फ़ाइल (यानी,) से पहले से चयनित नया मानदिखाई देगाnetcoreapp3.1। जब आप सहेजें पर क्लिक करते हैं, हालांकि, यह वापस मूल मूल्य (जैसे,netcoreapp3.0मेरे मामले में) परवापस आ जाएगा। ऐसा इसलिए है क्योंकि आपने वास्तवमें इंटरफ़ेस में मूल्य कोनहीं बदला है, जो कि वहाँ के लिए अंतर्निहित मूल्यों मेंबदलाव नहीं होने के लिए विज़ुअल स्टूडियो गलतियाँकरता है। यदि आप अस्थायी रूप से किसी अन्य मान (जैसे, कॉन्फ़िगरेशन ) कोटॉगल करते हैं, तो विज़ुअल स्टूडियो यह पहचान लेगा कि एक परिवर्तन हुआ है, और दोनों मानों को*.pubxmlफ़ाइलमें अपडेट किया जाएगा।

सही दिशा में मुझे इंगित करने के लिए @PanagiotisKanavos को फिर से धन्यवाद, (मूल सूत्र पर टिप्पणी देखें)।


1
समाधान पोस्ट करने के लिए धन्यवाद! मैं इससे जूझ रहा था जब मैंने कल रात प्रकाशित करने की कोशिश की और इसका कोई मतलब नहीं था। प्रकाशन विज़ार्ड में इसे हमेशा 3.1 के रूप में चयनित किया गया था, इसलिए मुझे लगा कि यह ठीक है, लेकिन एक बार जब मैंने pubxफ़ाइल को खोला तो आपने बताया कि यह अभी भी 3.0 पर है। अधिक निराश। ईमानदारी से, मेरे पास अजीब, अस्पष्ट और पूरी तरह से कुछ भी नहीं है, क्योंकि वीएस 16.3 और .NET कोर 3.0 के बाद से बग और मुद्दों को रोकना पूरी तरह से जारी था। एक बार फिर धन्यवाद!
Gup3rSuR4c

Idk यदि आप भी इसे प्राप्त कर रहे हैं, लेकिन यह बहुत प्यारा है कि जब आप इसे फ्रेमवर्क-निर्भरता के रूप में प्रकाशित करने के लिए कहते हैं, तो यह इसके साथ-साथ पूरे ढांचे को प्रकाशित करने का निर्णय लेता है। एक प्रकाशन जो कि 1 मिनट या तो होना चाहिए, अब 15+ मिनट का है ...
Gup3rSuR4c

FYI करें: जब से मैंने मूल रूप से इसे पोस्ट किया है, Microsoft ने .NET कोर 3.1 के लिए देशी समर्थन प्रदान करने के लिए Azure ऐप सेवाएँ अपडेट की हैं । यह देखते हुए, मैंने अपने मूल संदेश से संदेश के बारे में चेतावनी हटा दी है । पहले, यह आपके आवेदन के पूर्ण रूप से स्व-निहित वितरण को प्रकाशित करता था। (कहा कि, .NET कोर ड्रॉपिंग के एक नए संस्करण के बीच आमतौर पर 2-3 दिन का अंतराल होता है , और यह एज़्योर ऐप सर्विस के वातावरण में एकीकृत किया जा रहा है, इसलिए यह भविष्य के अपडेट के बारे में जागरूक होना उपयोगी है।)HTTP Error 500.30 - ANCM In-Process Start Failure
जेरेमी कैनी

1
अच्छा, मैंने केवल प्रोजेक्ट गुणों में फ्रेमवर्क संस्करण को अपडेट किया था और .pubxml फ़ाइल के बारे में अपना दिमाग भी नहीं लगाया था। यह .pubxml को "netcoreapp3.1" में अपडेट करने के बाद मेरे प्रकाशित होने का कारण बन रहा था, यह ठीक काम कर रहा था। धन्यवाद
डेन्कोडेमनीज

2

प्रोजेक्ट फ़ोल्डर खोलें;

  • फ़ोल्डर गुण नेविगेट करें >> PublishProfiles
  • फ़ाइल खोलें FolderProfile.pubxml फिर संस्करण 3.0 को 3.1 में बदलें

    netcoreapp3.1

  • अंत में, प्रकाशन से पहले अपने आवेदन का पुनर्निर्माण करें


pubxmlफ़ाइल को मैन्युअल रूप से संशोधित करने के लिए स्पष्ट निर्देश प्रदान करने पर अच्छा कॉल , और विशेष रूप से विजुअल स्टूडियो 2018 जीयूआई के माध्यम से इन मूल्यों को संशोधित करने की नासमझी दी गई । मैंने इन विवरणों को अपने मूल उत्तर में शामिल कर लिया है, इसलिए इस विकल्प को स्पष्ट रूप से समझाया गया है। धन्यवाद!
जेरेमी कैन

0

परिवर्तन

<PackageReferenceInclude="Microsoft.AspNetCore"Version="2.2.0" />
 to 
<PackageReference Include="Microsoft.AspNetCore.Http.Abstractions" Version="2.2.0" />

मेरे लिये कार्य करता है।


1
के लिए ASP.NET कोर 3.1 , सभी Microsoft.AspNetCoreपुस्तकालयों के लिए अद्यतन किया जाना चाहिए 3.1.0माइक्रोसॉफ्ट के v3.1 रिलीज नोट्स के अनुसार,। आपका दृष्टिकोण ASP.NET Core 2.2 में इसी तरह की समस्याओं के लिए एक वैध फिक्स हो सकता है , यह मानते हुए कि त्रुटि आपके csprojऔर pubxफ़ाइलों के बीच एक बेमेल के कारण नहीं थी , क्योंकि यह मेरे मामले में थी।
जेरेमी कैन

उपर्युक्त दो पैकेजों का संस्करण वर्तमान में 2.2.0 में है और नवीनतम संस्करण के रूप में चिह्नित किया गया है।
लिबर्टाड

1
@ लिबर्टाड, आपको अपने दृश्य स्टूडियो इंस्टॉलेशन को उन्नत करने के लिए संस्करण 16.4.0 पर नवीनतम डॉट नेट कोर 3.1 संस्करण देखने की आवश्यकता है
नौसेना

@navule मेरा वीएस अपटूडेट है। आबोव पैकेज केवल नगेट पैकेज हैं। इस पर एक नज़र डालें: nuget.org/packages/Microsoft.AspNetCore और इसका नवीनतम संस्करण देखें
Libertad
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.