নেট কোর 3 এ ডটনেট ইফ পাওয়া যায় নি


170

প্রাথমিক মাইগ্রেশন তৈরি করতে আমি ডক্স অনুসরণ করছি । যখন আমি মৃত্যুদন্ড কার্যকর করি তখন আমি dotnetসহায়তা বিভাগটি পাই, যার অর্থ PATH সঠিকভাবে কাজ করে।

তারপরে আমি কনসোল উইন্ডোতে ডক্স থেকে নীচের কমান্ডটি কার্যকর করার চেষ্টা করব:

dotnet ef migrations add InitialCreate  

আমি নিম্নলিখিত ত্রুটি পেয়েছি:

Could not execute because the specified command or file was not found.  
Possible reasons for this include:  
  * You misspelled a built-in dotnet command.  
  * You intended to execute a .NET Core program, but dotnet-ef does not exist.  
  * You intended to run a global tool, but a dotnet-prefixed executable with this name could not be found on the PATH.
  • কমান্ডটি অনুলিপি করার পরে আমি প্রথম আইটেমটি বাদ দিয়েছি।
  • আমি দ্বিতীয় আইটেমটি বাদ দিয়েছি কারণ প্যাকেজ মাইক্রোসফ্ট E
  • আমি তৃতীয় আইটেমটি বাদ দিয়েছি কারণ ডটনেট চাওয়ার সময় আমি সহায়তা বিভাগটি পাই ।

আমি ইস্যুটি গুগল করছি তবে যেহেতু সংস্করণটি নতুন, তাই তেমন কিছু করার দরকার নেই এবং / বা এটি পূর্ববর্তী সংস্করণগুলির অনুরূপ ইস্যুতে ডুবে যাচ্ছে।

আমি জোর করে মাইক্রোসফ্ট ইনস্টল করার চেষ্টা করেছি। এন্টিটি ফ্রেমওয়ার্ককোর ক্ষেত্রে যদি এটি স্পষ্টভাবে যুক্ত করা দরকার। আমি ত্রুটি বার্তায় দৌড়ে গিয়েছিলাম যেটি বেছে নেওয়ার সর্বশেষতম সংস্করণটি ২.২..6 এবং ডাউনগ্রেডটি কোনও অগ্রগতি নয়। আমি নিশ্চিত না যে আমার সিস্টেমে ইতিমধ্যে আমার যে এসকিউএল-প্যাকেজটি রয়েছে তার সাথে সামঞ্জস্যপূর্ণ সংস্করণটি কীভাবে ইনস্টল করা যায় (এবং এই সমস্যাটি হত্যার জন্য যদি সঠিক পদ্ধতির হয় তবে এটিও কম নির্দিষ্ট)।

সনাক্ত করা প্যাকেজ ডাউনগ্রেড: মাইক্রোসফ্ট.এনটিটি ফ্রেমওয়ার্ক কোর 3.0.0-প্রাকদর্শন 6.19304.10 থেকে 2.2.6 পর্যন্ত। একটি ভিন্ন সংস্করণ নির্বাচন করতে সরাসরি প্রকল্প থেকে প্যাকেজটি দেখুন।
ওয়েব ->
মাইক্রোসফ্ট.অন্টিটি ফ্রেমওয়ার্ককোর.সক্লস সার্ভার 3.0.0-প্রাকদর্শন 6.19304.10 ->
মাইক্রোসফ্ট.এন্টি ফ্রেমওয়ার্ককোর. সম্পর্কিত সম্পর্কিত 3.0.0-পূর্বরূপ 6.19304.10 -> মাইক্রোসফ্ট.এন্টিফ্রেমওয়ার্ক কোর
(> = 3.0.0-প্রাকদর্শন 6.19304.10)
মাইক্রোসফ্ট। সত্তা ফ্রেমওয়ার্ককুরি (> = 2.2.6)

উত্তর:


330

এএসপি.নেট কোর 3 পূর্বরূপ 4 এর ঘোষণা দেখুন , যা ব্যাখ্যা করে যে এই সরঞ্জামটি আর অন্তর্নির্মিত নয় এবং এর জন্য একটি সুস্পষ্ট ইনস্টল প্রয়োজন:

ডটনেট ইফ সরঞ্জামটি আর .NET কোর এসডিকে অংশ নয়

এই পরিবর্তনটি আমাদের dotnet efনিয়মিত নেট নেট সি এল আই সরঞ্জাম হিসাবে চালনা করতে দেয় যা বৈশ্বিক বা স্থানীয় সরঞ্জাম হিসাবে ইনস্টল করা যায়। উদাহরণস্বরূপ, মাইগ্রেশন পরিচালনা করতে বা স্কফোোল্ড a এ সক্ষম হতে DbContext, dotnet efনিম্নলিখিত কমান্ডটি টাইপ করে একটি বৈশ্বিক সরঞ্জাম হিসাবে ইনস্টল করুন :

dotnet tool install --global dotnet-ef

সরঞ্জামটির একটি নির্দিষ্ট সংস্করণ ইনস্টল করতে, নিম্নলিখিত কমান্ডটি ব্যবহার করুন:

dotnet tool install --global dotnet-ef --version 3.1.4

পরিবর্তনের কারণ ডক্সে ব্যাখ্যা করা হয়েছে :

কেন

এই পরিবর্তনটি আমাদের dotnet efনিউগেটে নিয়মিত নেট নেট সি এল আই সরঞ্জাম হিসাবে বিতরণ এবং আপডেট করার অনুমতি দেয় , EF কোর 3.0 এছাড়াও সর্বদা একটি নুগেট প্যাকেজ হিসাবে বিতরণ করা হয় fact

এছাড়াও, আপনার প্রকল্পে আপনাকে নিম্নলিখিত নিউগেট প্যাকেজগুলি যুক্ত করতে হতে পারে:


5
আপনি যদি সংস্করণটি ইনস্টল করতে যাচাই করতে চান তবে নুগেটের লিঙ্কটি এখানে রয়েছে
জুয়ান দে লা ক্রুজ

2
কেবল একটি নোট .. [ডটনেট-ইফ - রূপান্তর 3.0.0] [ডটনেট কোর সংস্করণ 3.1.100] এর জন্য সবচেয়ে উপযুক্ত।
অনুঘটক

বিশ্বব্যাপী ইনস্টল করা সুবিধাজনক, তবে আপনি এখন স্থানীয়ভাবে ডটনেট সরঞ্জামও ইনস্টল করতে পারেন
জ্যাচ এস্পোসিতো

মাইক্রোসফ্ট.এন্টি ফ্রেমওয়ার্ককোর.টুলসের দরকার নেই।
যোগিহোস্টিং

9

সম্পাদনা: আপনি যদি মোতায়েনের জন্য কোনও ডকফাইফাইল ব্যবহার করেন তবে এই সমস্যাটি সমাধান করার জন্য আপনার এই পদক্ষেপগুলি নিতে হবে।

নিম্নলিখিতগুলি অন্তর্ভুক্ত করতে আপনার ডকফায়াইল পরিবর্তন করুন:

FROM mcr.microsoft.com/dotnet/core/sdk:3.1 AS build-env
ENV PATH $PATH:/root/.dotnet/tools
RUN dotnet tool install -g dotnet-ef --version 3.1.1

আপনার dotnet efআদেশগুলি হতে হবে পরিবর্তন করুনdotnet-ef


এখনও যদি, প্যাথ কাজ করে না, ENV নির্দেশিকাটি এর মতো ব্যবহার করুন: ENV PATH $ PATH: /root/.dotnet/tools
Jiaya Udagedara

4

গ্লোবাল সরঞ্জামগুলি ডিফল্ট ডিরেক্টরিতে বা একটি নির্দিষ্ট জায়গায় ইনস্টল করা যেতে পারে। ডিফল্ট ডিরেক্টরিগুলি হ'ল:

  • লিনাক্স / ম্যাকোস ---> OME হোম / .ডটনেট / সরঞ্জাম

  • উইন্ডোজ --->% USERPROFILE% \। ডটনেট। সরঞ্জাম

আপনি যদি কোনও গ্লোবাল সরঞ্জাম চালনার চেষ্টা করছেন, আপনার মেশিনে প্যাথ এনভায়রনমেন্ট ভেরিয়েবলের যেখানে আপনি বিশ্বব্যাপী সরঞ্জামটি ইনস্টল করেছেন এবং নির্বাহযোগ্য সেই পথে রয়েছে তা পরীক্ষা করে দেখুন।

সমস্যা সমাধান করুন। নেট কোর সরঞ্জাম ব্যবহারের সমস্যা


এটি আমার সমস্যা ছিল, যখন আমি "ডটনেট সরঞ্জাম ইনস্টল --global ডটনেট-এফ" এর মাধ্যমে ম্যাকওএসে ইনস্টল করেছি তখন আমি টার্মিনাল উইন্ডোটি বন্ধ এবং পুনরায় খোলার জন্য একটি প্রম্পট পেয়েছি যাতে নতুন কনফিগারেশন কার্যকর হয়, তবে আসলে ডিফল্ট ইনস্টলেশন ফোল্ডার $ হোম / .NET / সরঞ্জামগুলি PATH ভেরিয়েবলের সাথে যুক্ত করা হয়নি।
মাইক ডেইলর

আমি আপনাকে আনন্দিত করতে পেরে আনন্দিত :)
গ্যাম্বিতিয়ার

1

অ্যাডমিনিস্ট্রেটর হিসাবে পাওয়ারশেল বা কমান্ড প্রম্পট চালান এবং নীচে কমান্ড চালান।

ডটনেট সরঞ্জাম ইনস্টল করুন - গ্লোবাল ডটনেট-ইএফ - রূপান্তর 3.1.3


0

আমারও একই সমস্যা ছিল। আমি সমাধান করেছি, আমার পিসিতে সমস্ত ডি সংস্করণ আনইনস্টল করে এবং ডটনেট পুনরায় ইনস্টল করুন।


6
একটি মন্তব্য হিসাবে ভাল উপযুক্ত। কীভাবে সংস্থান করবেন এবং কীভাবে সংস্থানগুলি করবেন তা ব্যাখ্যা করা উচিত
জোশ অ্যাডামস

0

আপনি যদি লিনাক্সে স্ন্যাপ প্যাকেজ ডটনেট-এসডিকে ব্যবহার করেন তবে এটি আপনার ~ .Bashrc / ইত্যাদি আপডেট করে সমাধান করতে পারে:

#!/bin/bash
export DOTNET_ROOT=/snap/dotnet-sdk/current
export MSBuildSDKsPath=$DOTNET_ROOT/sdk/$(${DOTNET_ROOT}/dotnet --version)/Sdks
export PATH="${PATH}:${DOTNET_ROOT}"
export PATH="$PATH:$HOME/.dotnet/tools"

0

আমার জন্য, আমি ভিজ্যুয়াল স্টুডিওটি বন্ধ করে আবার এটি খোলার পরে সমস্যার সমাধান হয়েছিল

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.