ভিজুয়াল স্টুডিও 2010 এর মাধ্যমে .NET ফ্রেমওয়ার্ক 4.5 লক্ষ্য করে


169

আজ আমি ভিজুয়াল স্টুডিও 2010 থেকে এটি ব্যবহার করতে সক্ষম হওয়ার প্রত্যাশা করে আমার মেশিনে .NET ফ্রেমওয়ার্ক 4.5 ইনস্টল করেছি, যেহেতু এটি কেবলমাত্র একটি সামান্য আপডেট যা ভিজুয়াল স্টুডিও 2010 এর জন্য সমস্যা তৈরি করতে হবে না Unfortunately এবং সংশ্লিষ্ট ৪.৫ টি অ্যাসেমব্লি যুক্ত করার ফলে মূল ৪.০ অ্যাসেমব্লিগুলি প্রকল্পে এখনও উল্লেখ করা হয়েছে।

ভিজ্যুয়াল স্টুডিও 2010 থেকে 4.5 সংস্করণ লক্ষ্য করা সম্ভব এবং যদি হ্যাঁ, কিভাবে? আমি সত্যিই ফিতা ব্যবহার করতে চাই ...


NET v4.5 সমর্থনের জন্য আপনাকে অবশ্যই ভিজ্যুয়াল স্টুডিও 2012 এ আপগ্রেড করতে হবে।
অরণান

আমি এই সীমাবদ্ধতাটি সম্পর্কে জানতে পেরেছিলাম যখন আমি ভি.এস. 2010 কনসোল অ্যাপ্লিকেশনটিতে System.Threading.Tasks.Task.Run () পদ্ধতি ব্যবহার করার চেষ্টা করছিলাম। আপনার প্রকল্পটি টার্গেট করে থাকলে এই পদ্ধতিটি টাস্ক ক্লাসে প্রদর্শিত হবে না N নেট ফ্রেমওয়ার্ক ৪.০ এবং তারপরে আপনি বুঝতে পারবেন যে ভিএস2010 টার্গেট করতে পারে না you নেট ফ্রেমওয়ার্ক ৪.৪ চাইলে আপনি চান।
আরবিটি

উত্তর:


194

ভিজ্যুয়াল স্টুডিও 2010 এর পূর্বে ভিজ্যুয়াল স্টুডিওর প্রতিটি সংস্করণ একটি নির্দিষ্ট .NET কাঠামোর সাথে আবদ্ধ। (VS2008 .NET 3.5, VS2005 .NET 2.0, VS2003 হয় .NET1.1) ভিজ্যুয়াল স্টুডিও 2010 এবং এর বাইরে পূর্ববর্তী ফ্রেমওয়ার্ক সংস্করণগুলিকে লক্ষ্য করার অনুমতি দেয় তবে ভবিষ্যতে প্রকাশের জন্য ব্যবহার করা যায় না। নেট .৪.৪ ব্যবহার করতে আপনাকে অবশ্যই ভিজ্যুয়াল স্টুডিও 2012 ব্যবহার করতে হবে।


9
পুরোপুরি সত্য নয় - .NET 3.0 ভিএস সংস্করণের মধ্যে প্রকাশিত হয়েছিল এবং এটি ভিএস ২০০৫ এ ব্যবহার করা যেতে পারে।
স্লি গ্রিফন

9
কী ছাঁটাই: এমএসআই ইনস্টলার স্থাপনের জন্য প্রিয় বনাম ২০২০ সেটআপ প্রজেক্ট হারানোর ব্যয়ে .NET 4.5 এর নব্বইটি ব্যবহার করার জন্য vs2012 + এ মাইগ্রেট করুন ... "আপগ্রেড" আরও বেশি পার্শ্ববর্তী হিসাবে অনুভব করছে ...
ইকো

6
@ সিোকো - একটি ভিএস 2013 এক্সটেনশান রয়েছে যা সেটআপ এবং ডিপ্লোয়মেন্ট প্রকল্পের ধরণটি
ফিরিয়ে

2
এটি ভুল। এই বৈশিষ্ট্যটি ব্যবহার করতে আপনাকে আপগ্রেড করতে হবে না। আপনাকে যা করতে হবে তা হল একটি নতুন রেফারেন্স যুক্ত করুন, তারপরে .NET 4.5 ফোল্ডারে ব্রাউজ করুন: সি: \ প্রোগ্রাম ফাইলগুলি (x86) \ রেফারেন্স অ্যাসেমব্লিজগুলি \ মাইক্রোসফ্ট \ ফ্রেমওয়ার্ক \\। নেট ফ্রেমওয়ার্ক \ 4.5 \ আপনি সেখানে রেফারেন্স পাবেন। কেবল এটি যুক্ত করুন এবং এটি কাজ করে
হার্মিস ট্রিসমেজিস্টাস

2
@ ভিএস ২০১০-এ হার্মিজটিসমেগিস্টাস আমি "টার্গেট ফ্রেমওয়ার্ক = অন্যান্য ফ্রেমওয়ার্কগুলি ইনস্টল করুন" এ ক্লিক করি এবং এটি আমাকে একটি মাইক্রোসফ্ট / নেট / ডাউনলোড / ভিজুয়াল-স্টুডিও- এসডিএস-এ নিয়ে যায় তবে এটি আমাকে কোনও ফোল্ডারে যেতে দেয় না। আমার কি করা উচিৎ. আমার অবশ্যই ভিএস ২০১০ থেকে 4.5 লক্ষ্য করতে সক্ষম হবে।
এচেবান

67

এখানে বেশ কার্যকর সীমিত পরিস্থিতি রয়েছে যেখানে আমি এটি কার্যকর হব তা ভাবতে পারি তবে আসুন ধরে নেওয়া যাক আপনি ভিএস2012 বা তার প্রভাবের জন্য কিছু কেনার জন্য তহবিল পেতে পারেন না। যদি এটির ক্ষেত্রে এবং আপনার উইন্ডোজ 7+ এবং ভিএস 2010 থাকে তবে আপনি নিম্নলিখিত হ্যাকটি ব্যবহার করতে সক্ষম হতে পারেন যা আমি একসাথে রেখেছি যা কাজ করে মনে হয় (তবে আমি এখনও এই পদ্ধতিটি ব্যবহার করে কোনও অ্যাপ্লিকেশন পুরোপুরি স্থাপন করেছি না)।

  1. আপনার প্রকল্প ফাইল ব্যাকআপ !!!

  2. .NET 4.5 এসডিকে অন্তর্ভুক্ত উইন্ডোজ 8 এসডিকে ডাউনলোড এবং ইনস্টল করুন ।

  3. আপনার প্রকল্পটি VS2010 এ খুলুন।

  4. Compile_4_5_CSharp.targetsনিম্নলিখিত প্রকল্পের নামে আপনার প্রকল্পে একটি পাঠ্য ফাইল তৈরি করুন । (বা কেবল এটি এখানে ডাউনলোড করুন - ফাইলের নাম থেকে ".txt" এক্সটেনশনটি সরিয়ে ফেলা নিশ্চিত করুন):

    <Project DefaultTargets="Build"
     xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    
        <!-- Change the target framework to 4.5 if using the ".NET 4.5" configuration -->
        <PropertyGroup Condition=" '$(Platform)' == '.NET 4.5' ">
            <DefineConstants Condition="'$(DefineConstants)'==''">
                TARGETTING_FX_4_5
            </DefineConstants>
            <DefineConstants Condition="'$(DefineConstants)'!='' and '$(DefineConstants)'!='TARGETTING_FX_4_5'">
                $(DefineConstants);TARGETTING_FX_4_5
            </DefineConstants>
            <PlatformTarget Condition="'$(PlatformTarget)'!=''"/>
            <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
        </PropertyGroup>
    
        <!-- Import the standard C# targets -->
        <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
    
        <!-- Add .NET 4.5 as an available platform -->
        <PropertyGroup>
           <AvailablePlatforms>$(AvailablePlatforms),.NET 4.5</AvailablePlatforms>
        </PropertyGroup>
    </Project>
    
  5. আপনার প্রকল্পটি আনলোড করুন (ডান ক্লিক করুন -> আনলোড)।

  6. প্রকল্পের ফাইলটি সম্পাদনা করুন (ডান ক্লিক করুন -> সম্পাদনা * .csproj)।

  7. প্রকল্প ফাইলটিতে নিম্নলিখিত পরিবর্তনগুলি করুন:

    ক। Microsoft.CSharp.targetsধাপ 4-এ নির্মিত টার্গেট ফাইলের সাথে ডিফল্টটি প্রতিস্থাপন করুন

    <!-- Old Import Entry -->
    <!-- <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> -->
    
    <!-- New Import Entry -->
    <Import Project="Compile_4_5_CSharp.targets" />
    

    খ। এতে ডিফল্ট প্ল্যাটফর্মটি পরিবর্তন করুন.NET 4.5

    <!-- Old default platform entry -->
    <!-- <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> -->
    
    <!-- New default platform entry -->
    <Platform Condition=" '$(Platform)' == '' ">.NET 4.5</Platform>
    

    গ। AnyCPUপ্রকল্পের বৈশিষ্ট্যগুলিতে নির্দিষ্ট হিসাবে অন্যান্য ফ্রেমওয়ার্কগুলিকে টার্গেট করার অনুমতি দেওয়ার জন্য প্ল্যাটফর্ম যুক্ত করুন । এটি <ItemGroup>ফাইলের প্রথম ট্যাগের ঠিক আগে যুক্ত করা উচিত

    <PropertyGroup Condition="'$(Platform)' == 'AnyCPU'">
        <PlatformTarget>AnyCPU</PlatformTarget>
    </PropertyGroup>
    
    .
    .
    .
    <ItemGroup>
    .
    .
    .
    
  8. আপনার পরিবর্তনগুলি সংরক্ষণ করুন এবং *.csprojফাইলটি বন্ধ করুন।

  9. আপনার প্রকল্পটি পুনরায় লোড করুন (ডান ক্লিক করুন -> পুনঃলোড প্রকল্প)।

  10. কনফিগারেশন ম্যানেজারে (বিল্ড -> কনফিগারেশন ম্যানেজার) আপনার প্রকল্পের জন্য ".NET 4.5" প্ল্যাটফর্ম নির্বাচন করা হয়েছে তা নিশ্চিত করুন।

  11. তবুও কনফিগারেশন ম্যানেজারে, ".NET 4.5" এর জন্য একটি নতুন সমাধান প্ল্যাটফর্ম তৈরি করুন (আপনি এটি "যে কোনও সিপিইউ" থেকে বেস করতে পারেন) এবং নিশ্চিত করুন যে "। নেট 4.5" সমাধানের জন্য নির্বাচিত হয়েছে।

  12. আপনার প্রকল্প তৈরি করুন এবং ত্রুটিগুলি পরীক্ষা করুন।

  13. বিল্ডটি সম্পূর্ণ বলে ধরে নিয়েছেন যে আপনি আপনার উত্স কোডটিতে একটি 4.5 নির্দিষ্ট শ্রেণির রেফারেন্স যুক্ত করে যাচাই করতে পারবেন যে আপনি প্রকৃতপক্ষে 4.5 লক্ষ্য করে চলেছেন:

    using System;
    using System.Text;
    
    namespace testing
    {
        using net45check = System.Reflection.ReflectionContext;
    }
    
  14. আপনি যখন ".NET 4.5" প্ল্যাটফর্মটি ব্যবহার করে সংকলন করেন তখন বিল্ডটি সফল হওয়া উচিত। আপনি "যে কোনও সিপিইউ" প্ল্যাটফর্মের অধীনে সংকলন করার সময় আপনার একটি সংকলক ত্রুটি পাওয়া উচিত:

    Error 6: The type or namespace name 'ReflectionContext' does not exist in
    the namespace 'System.Reflection' (are you missing an assembly reference?)
    

3
এটি ক্রেজি, এমনকি যদি এটি কাজ করে তবে কি ইউআই উপাদানগুলি জিমাল এবং অন্যান্য ত্রুটিগুলি ছাড়াই ফিতা ডিজাইনারের মতো কাজ করবে? srsly শুধু আপগ্রেড।
বেনামে টাইপ

1
ডেভিড উডওয়ার্ডের উত্তর ছাড়াও, আমি যুক্ত করেছি: <OutputPath>bin\</OutputPath>প্রথম সম্পত্তি গোষ্ঠীতে, যখন নীচের ত্রুটি ঘটেছিল: আউটপুটপথ সম্পত্তি 'প্রকল্পের নাম' এর জন্য সেট করা হয় না।
এম্পার্কুক

এটি আসলে কাজ করে। তবে আমি এটি ব্যবহার করছি যাতে আমি .NET ফ্রেমওয়ার্ক 4.5.1 ইনস্টল করার পরে ভিএস 2010 এ মোলগুলি চালিয়ে যেতে পারি।
কনরাড ক্লার্ক

1
আমি কীভাবে সফলভাবে 11 তম পদক্ষেপটি করতে পারি তা বুঝতে অক্ষম ছিলাম, "... একটি নতুন সমাধান প্ল্যাটফর্ম তৈরি করুন ...", তবে আমি দেখতে পেলাম যে পদক্ষেপ 11 উপেক্ষা করা হলে নির্দেশাবলী সামগ্রিকভাবে সফল হয়েছিল।
টনি পুলোকাস

8

এফওয়াইআই, আপনি যদি ভিএস 2010 এ কোনও ইনস্টলার প্যাকেজ তৈরি করতে চান তবে দুর্ভাগ্যক্রমে এটি কেবল লক্ষ্য করে N নেট 4.. এটি চারপাশে কাজ করার জন্য আপনাকে লঞ্চ শর্ত হিসাবে নেট 4.5 যোগ করতে হবে।

ইনস্টলারটির লঞ্চ শর্তগুলিতে নিম্নলিখিতগুলি যুক্ত করুন (ডান ক্লিক করুন, দেখুন, শর্তাবলী চালু করুন)।

"অনুসন্ধান লক্ষ্য মেশিনে", ডান ক্লিক করুন এবং "রেজিস্ট্রি অনুসন্ধান যুক্ত করুন" নির্বাচন করুন।

Property: REGISTRYVALUE1
RegKey: Software\Microsoft\NET Framework Setup\NDP\v4\Full
Root: vsdrrHKLM
Value: Release

নতুন "লঞ্চ শর্ত" যুক্ত করুন:

Condition: REGISTRYVALUE1>="#378389"
InstallUrl: http://www.microsoft.com/en-gb/download/details.aspx?id=30653
Message: Setup requires .NET Framework 4.5 to be installed.

কোথায়:

378389 =। নেট ফ্রেমওয়ার্ক 4.5

378675 = .NET ফ্রেমওয়ার্ক 4.5.1 উইন্ডোজ 8.1 এর সাথে ইনস্টল করা হয়েছে

378758 =। নেট ফ্রেমওয়ার্ক 4.5.1 উইন্ডোজ 8, উইন্ডোজ 7 এসপি 1, বা উইন্ডোজ ভিস্তা এসপি 2 এ ইনস্টল করা হয়েছে

379893 =। নেট ফ্রেমওয়ার্ক 4.5.2

শর্ত রেফারেন্সটি চালু করুন: http://msdn.microsoft.com/en-us/library/vstudio/xxyh2e6a(v=vs.100).aspx


3

আমি VS2010 / DNFW 4.5 ইন্টিগ্রেশন নিয়ে লড়াই করে যাচ্ছি এবং শেষ পর্যন্ত এই কাজটি পেয়েছি। ভিএস ২০০৮-এ শুরু করে, অ্যাসেমব্লির একটি ক্যাশে চালু করা হয়েছিল যা ভিজ্যুয়াল স্টুডিও "রেফারেন্সড অ্যাসেমব্লিজ" নামে পরিচিত। ভিএস ২০১০-এর জন্য এই ফাইলের ক্যাশেটি \ রেফারেন্স অ্যাসেমব্লিজগুলি \ মাইক্রোসফ্ট \ ফ্রেমওয়ার্ক N নেট ফ্রেমওয়ার্ক \ v4.0 এ অবস্থিত। ভিজ্যুয়াল স্টুডিও ফ্রেমওয়ার্ক ইনস্টলেশন ডিরেক্টরি পরিবর্তে এই অবস্থান থেকে ফ্রেমওয়ার্ক সমাবেশগুলি লোড করে। মাইক্রোসফ্ট যখন বলে যে ভিএস 2010 ডিএনএফডাব্লু 4.5 সমর্থন করে না তার অর্থ হ'ল ডিএনএফডাব্লু 4.5 ইনস্টল করার পরে এই ডিরেক্টরিটি আপডেট হয় না। একবার আপনি এই স্থানে থাকা ফাইলগুলি আপডেট হওয়া ডিএনএফডাব্লু 4.5.৪ ফাইলের সাথে প্রতিস্থাপন করলে আপনি দেখতে পাবেন যে ভিএস ২০১০ সুখে DNFW 4.5 নিয়ে কাজ করবে।


0

অন্য অনুসন্ধান থেকে। আমার জন্য কাজ!

"আপনি ভিজ্যুয়াল স্টুডিও 2010 ব্যবহার করতে পারেন এবং এটি ওএস সমর্থন করে, আপনার ওএস সমর্থন করে। নেট 4.5।

একটি রেফারেন্স যুক্ত করতে আপনার সমাধানটিতে ডান ক্লিক করুন (যেমন আপনি করেন)। ডায়ালগ বাক্সটি প্রদর্শিত হলে, ব্রাউজ নির্বাচন করুন, তারপরে নিম্নলিখিত ফোল্ডারে নেভিগেট করুন:

সি: \ প্রোগ্রাম ফাইল (x86) ference রেফারেন্স অ্যাসেমব্লিগুলি \ মাইক্রোসফ্ট \ ফ্রেমওয়ার্ক \। নেট ফ্রেমওয়ার্ক \ 4.5

আপনি এটি সেখানে পাবেন। "


6
"আপনি এটি সেখানে পাবেন" বাক্যে, "এটি" কী? সেই ফোল্ডারে আমরা কোন ফাইলটি নির্বাচন করব? তাদের মধ্যে কেউ কি আমাদের ভিএস ২০১০ সালে .net 4.5 লক্ষ্য করতে দেবে?
জেফ রো

আপনি নেমস্পেসের সমাবেশগুলি পাবেন। আপনি যে কোনওটিকে যুক্ত করতে পারেন। উদাহরণস্বরূপ, জিপ ফাইলগুলির সাথে কাজ করার জন্য আমার একটি পদ্ধতি ব্যবহার করা দরকার। সুতরাং আমি dll "System.IO.Compression.dll" পেয়েছি এবং এটি আমার প্রকল্পে যুক্ত করেছি। তারপরে আমি স্পষ্টভাবে আমার কোডে নাম স্থানটি তালিকাভুক্ত করতে এবং আমার প্রয়োজনীয় পদ্ধতিগুলি ব্যবহার করতে পারি।
হার্মিস ত্রিসমেগিস্টাস

1
এটি আমার পক্ষে কাজ করে না। আপনি যদি আপনার রেফারেন্সটি মুছে ফেলেন, বলুন, সিস্টেম, এবং তারপরে .Net 4.5 System.dll ব্রাউজ করুন এবং একটি রেফারেন্স হিসাবে যোগ করুন, ভিএস এখনও 4.0 সিস্টেম.ডিল চয়ন করে এই পৃষ্ঠায় ক্যাপ্টেন ন্যাস্টের উত্তর আমার পক্ষে কাজ করে, যেমন অনুলিপি সি থেকে সিস্টেম.ডিল: \ প্রোগ্রাম ফাইলগুলি (x86) ference রেফারেন্স অ্যাসেমব্লিজগুলি \ মাইক্রোসফ্ট ফ্রেমওয়ার্ক \। নেটফ্রেমওয়ার্ক \ v4.6 এবং সি: \ প্রোগ্রাম ফাইলগুলি (x86) ference রেফারেন্স অ্যাসেমব্লিজগুলি \ মাইক্রোসফ্ট \ ফ্রেমওয়ার্ক \ .NETFramework \ v4.0। নোট করুন যদিও এটি একটি বাজে হ্যাক এবং এর অনিচ্ছাকৃত পরিণতি হতে পারে।
জিনলি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.