2017-08-16 9 views
8

मैं .NET कोर 1.1 से 2.0 तक कुछ एप्लिकेशन अपडेट कर रहा हूं। क्षुधा स्थानीय स्तर पर अच्छा काम लेकिन वीएम मेरी लिनक्स पर रनटाइम अद्यतन करने और वितरित करने के बाद, मैं हो रही त्रुटियों हूँ:लिनक्स पर .NET कोर 2.0 रनटाइम के साथ केवल रनटाइम स्टोर त्रुटि

आवेदन निर्भरता प्रकट (foo.deps.json) में निर्दिष्ट एक विधानसभा नहीं मिला था: पैकेज : 'Microsoft.ApplicationInsights.AspNetCore', संस्करण: '2.1.1' पथ: 'lib/netstandard1.6/Microsoft.ApplicationInsights.AspNetCore.dll'
इस विधानसभा के रूप में स्थानीय क्रम दुकान में होने की उम्मीद थी निम्नलिखित लक्ष्य प्रकट फ़ाइलों का उपयोग करके एप्लिकेशन प्रकाशित किया गया था: aspnetcore-store-2.0.0-linux-x64.xml; aspnetcore-store-2.0.0-osx-x64.xml; aspnetcore-store-2.0.0-win7-x64 .xml; aspnetco फिर से दुकान-2.0.0-Win7-x86.xml

मुझे लगता है कि इस वजह से रनटाइम डाउनलोड नया क्रम दुकान की जरूरत फ़ोल्डर उत्पन्न नहीं करता है जब आप Microsoft.AspNetCore.All पैकेज का उपयोग करें।

मैं इसके बजाय पूरे एसडीके स्थापित कर सकता हूं और यह ठीक काम करता है लेकिन मैं केवल रनटाइम का उपयोग जारी रखना पसंद करूंगा।

मैं उत्पादन सर्वर पर एसडीके की आवश्यकता के बिना मैन्युअल रूप से रनटाइम कैश कैसे उत्पन्न करूं?

उत्तर

5

अद्यतन 12/4/2017

ASP.NET कोर क्रम अब नेट कोर के लिए मुख्य डाउनलोड पृष्ठ पर सूचीबद्ध है। https://www.microsoft.com/net/download/linux

अद्यतन 10/3/2017

तुम भी एक पैकेज फ़ीड से स्थापित कर सकते हैं।

नेट कोर पैकेज जोड़ने के निर्देश लिए यह लिंक देखें उपयुक्त, यम, zypper, और दूसरों के लिए फ़ीड: https://github.com/dotnet/core/blob/master/release-notes/download-archives/2.0.0-download.md#installing-net-core-on-linux

उदाहरण के लिए, यदि आप उबंटू 16 पर स्थापित करना चाहता था, तो आप इस करना होगा:

curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg 
sudo mv microsoft.gpg /etc/apt/trusted.gpg.d/microsoft.gpg 
sudo sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-ubuntu-xenial-prod xenial main" > /etc/apt/sources.list.d/dotnetdev.list' 
sudo apt update 
sudo apt install aspnetcore-store-2.0.0 

मूल जवाब

आप यहाँ से कुछ ही ASP.NET कोर क्रम दुकान डाउनलोड कर सकते हैं:

https://dist.asp.net/runtimestore/2.0.0/linux-x64/aspnetcore.runtimestore.tar.gz

आपको .NET कोर 2.0.0 रनटाइम डाउनलोड करने की आवश्यकता होगी (https://github.com/dotnet/core/blob/master/release-notes/download-archives/2.0.0-download.md देखें)।

इन दोनों को एक ही फ़ोल्डर में निकालें, यानी रनटाइम स्टोर संग्रह से "स्टोर" और "अतिरिक्तडिप्स" फ़ोल्डर डॉटनेट निष्पादन योग्य के समानांतर होना चाहिए।

+0

धन्यवाद। मुझे इसके बारे में कोई दस्तावेज नहीं मिला। रनटाइम डाउनलोड पेज के साथ-साथ https://docs.microsoft.com/en-us/aspnet/core/publishing/linuxproduction में इसे जोड़ने का अर्थ है। यह भी अच्छा होगा अगर रनटाइम स्टोर सेटअप को dotnet-install.sh –

+0

में शामिल किया गया था, हाँ, मैं इसे सुधारने के लिए हमारी डॉक्स टीम तक पहुंच जाऊंगा। – natemcmaster

0

CentOS 7 के लिए, मेरे लिए काम किया है:

  1. डाउनलोड करें और क्रम स्थापित:

    mkdir -p/घर/डॉटनैट & & tar zxf डॉटनैट-क्रम-2.0.0- लिनक्स x64.tar.gz -सी/घर/डॉटनैट

  2. SDK डाउनलोड करें और स्थापित करें "यह एक MUST Asp.Net कोर दुकान फ़ोल्डर पाने के लिए है"

    mkdir -p/home/dotnetSDK & & tar zxf dotnet-sdk-2.0.0-linux-x64.tar।GZ -सी/घर/dotnetSDK

  3. कॉपी क्रम को एसडीके से दुकान फ़ोल्डर:

    सीपी -rp/घर/dotnetSDK/स्टोर/घर/डॉटनैट/दुकान

  4. एसडीके निकालें : पथ को

    rm -dfr/घर/dotnetSDK

  5. सेट 'डॉटनैट' सरकारी डॉक्स में बताई गई विधि (नीचे स्थायी नहीं है):

    निर्यात पथ = $ पथ:/घर/डॉटनैट

अब आप परीक्षण और उसके काम करने की पुष्टि कर सकते हैं:

# dotnet WebApiTest.dll 
info: Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager[0] 
     User profile is available. Using '/root/.aspnet/DataProtection-Keys' as key repository; keys will not be encrypted at rest. 
info: Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager[58] 
     Creating key {87d17c5a-120f-4204-b316-52027a264791} with creation date 2017-08-17 16:34:49Z, activation date 2017-08-17 16:34:49Z, and expiration date 2017-11-15 16:34:49Z. 
warn: Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager[35] 
     No XML encryptor configured. Key {87d17c5a-120f-4204-b316-52027a264791} may be persisted to storage in unencrypted form. 
info: Microsoft.AspNetCore.DataProtection.Repositories.FileSystemXmlRepository[39] 
     Writing data to file '/root/.aspnet/DataProtection-Keys/key-87d17c5a-120f-4204-b316-52027a264791.xml'. 
Hosting environment: Production 
Content root path: /home/dotnet/WebApiTest 
Now listening on: http://localhost:5000 
Application started. Press Ctrl+C to shut down. 

अंत: कम्प्रेस/पुरालेख/घर/डॉटनैट ताकि आप जीता भविष्य में तैनाती में रिलीज के चरण 2, 3 & 4 की आवश्यकता नहीं है-2.0.0

1

प्रति Runtime package store documentation, आप अपने .csproj फ़ाइल में निम्न जोड़ सकते हैं:

<PropertyGroup> 
    <PublishWithAspNetCoreTargetManifest>false</PublishWithAspNetCoreTargetManifest> 
</PropertyGroup> 

और जब आप dotnet publish का उपयोग निर्भरता शामिल किया जाएगा।

0

मुझे इस समस्या का अनुभव हुआ क्योंकि मेरा डॉटनेट एसडीके संस्करण Microsoft.AspNetCore.All संकुल संस्करण के पीछे था।संस्करणों को मिलान करना (या तो पैकेज को वापस या मेजबान एसडीके को अपग्रेड करके) मेरी समस्या को ठीक कर दिया। मूर्खतापूर्ण गलती करने की उम्मीद है लेकिन उम्मीद है कि यह किसी की मदद करेगा।