প্রকল্পে কীভাবে System.Windows.Interactivity যুক্ত করবেন?


106

আমার প্রকল্প অনুপস্থিত System.Windows.Interactivity। গুগল বলেছে যে আমাকে এক্সপ্রেশন ব্লেন্ড ইনস্টল করতে হবে, তবে আমার অন্যান্য কম্পিউটারে আমার এই লাইব্রেরি রয়েছে এবং আমার এক্সপ্রেশন ব্লেন্ড ইনস্টল নেই। সুতরাং অন্য উপায় পেতে হবে System.Windows.Interactivity? আমার কি করা উচিৎ? (এই মুহূর্তে আমার কাছে অন্য কম্পিউটার নেই তাই আমি কেবল এই লাইব্রেরিটি অনুলিপি করতে পারি না :)

উত্তর:


92

আচরণের জন্য অফিসিয়াল প্যাকেজ হ'ল Microsoft.Xaml.Behaviors.Wpf

এটি ব্লেন্ড এসডিকে থাকত এবং হ্রাস করা হয়। আপনার যদি স্থানান্তর করতে হয় তবে আরও তথ্যের জন্য জানের উত্তর
দেখুন ।


2
4.6 সঙ্গে সামঞ্জস্যপূর্ণ নয়!
অ্যালারি

3
এটি খুব দু: খজনক এবং আমাকে পাগল করে তোলে। আমি দুঃখের সাথে পিছনে কোডটি ব্যবহার করছি। এমএসের জন্য লজ্জা।
অ্যালারি

1
@ আলেরিয়া: ১. আপনি যদি সত্যিই চান তবে আপনি নিজেরাই সেই এসডিকে আচরণ সম্পূর্ণ লিখতে পারেন। ২. আপনি কি প্যাকেজটি ব্যবহারের চেষ্টা করেছেন?
এইচবি

1
@ শিম্মি: অবশ্যই!
এইচবি

6
আমি জানি এটি আপনার কারও কাছে সুস্পষ্ট তবে আপনার রেফারেন্স করা দরকার: xmlns:i="http://schemas.microsoft.com/xaml/behaviors"নন: xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"আমি দেখেছি এমন অন্যান্য উদাহরণের মতো।
ইউসুফ বার্নাল

124

যদিও এই সমস্যাটি বেশ পুরানো, আমি মনে করি এটি প্রাসঙ্গিক সংবাদ / অতি সাম্প্রতিক উত্তর: মাইক্রোসফ্ট ওপেন সোর্সযুক্ত এক্সএএমএল আচরণগুলি এবং এই সংস্করণে কীভাবে আপডেট করা যায় তা একটি ব্লগ পোস্ট পোস্ট করেছে: https ://devblogs.mic Microsoft.com/dotnet/open -sourcing-xaml-আচরণে-জন্য-wpf /

আপনাকে একটি ক্লিক সংরক্ষণ করতে, এটি স্থানান্তরিত করার প্রধান পদক্ষেপ:

  1. "মাইক্রোসফ্ট.এক্সপ্রেশন.ইন্টেরাক্সেস" এবং "সিস্টেম. উইন্ডোজ.ইনটারাকটিভিটি" এর রেফারেন্স সরান
  2. Microsoft.Xaml.Behaviors.Wpf NuGet প্যাকেজটি ইনস্টল করুন ।
  3. XAML ফাইল - xmlns নামব্যবধান প্রতিস্থাপন http://schemas.microsoft.com/expression/2010/interactivity এবং http://schemas.microsoft.com/expression/2010/interactions সঙ্গে http://schemas.microsoft.com/xaml / আচরণে
  4. সি # ফাইল - সি # ফাইলগুলিতে উইন্ডোজগুলি প্রতিস্থাপন করুন "মাইক্রোসফ্ট.এক্সএএমএল.এন্টেরাকটিভিটি" এবং "মাইক্রোসফ্ট.এক্সএল.এন্টি্যাকশনস" "মাইক্রোসফ্ট.এক্সএল.বিহেভিয়ার্স"

6
এটি - এখন - একেবারে সঠিক উত্তর। আমি খুব খুশি যে মাইক্রোসফ্ট অবশেষে এটি করেছে। এটি পোস্ট করার জন্য ধন্যবাদ। আমি নিশ্চিত না যে আমি কীভাবে ব্লগ এন্ট্রি মিস করেছি। "শীতল, নতুন মাইক্রোসফ্ট নিউগেট প্যাকেজগুলির জন্য" একটি নিউজলেটার থাকতে হবে।
skst

1
স্ট্যাকওভারফ্লোতে যদি আবেগ থাকে তবে আমি আপনার উত্তরের জন্য হার্ট ব্যবহার করব
ইব্রাহিম কাইস ইব্রাহিম

1
2019 সালের হিসাবে নির্বাচিত উত্তর হওয়া উচিত this এই গুরুত্বপূর্ণ আপডেটটি যোগ করতে সময় দেওয়ার জন্য ধন্যবাদ।
মিনিট

1
আমার জন্য কাজ করেছেন। আমি VS2019 এ 2015 থেকে সমাধান আপডেট করেছি। ধন্যবাদ.
কুলাগিন

1
তদতিরিক্ত , যদি আপনি স্কিমাস.মাইক্রোসফট / এক্সপ্রেসন / 2010 / ড্রয়িংয়ের কোনও আকার ব্যবহার করেন তবে আপনি এই নুগেট প্যাকেজটি ব্যবহার করতে পারেন - কোনও কোড পরিবর্তন করার প্রয়োজন নেই।
ড্যানিয়েল এলকিংটন

59

এখানে একটি নতুন নিউগেট প্যাকেজ রয়েছে যা এতে সিস্টেম.উন্ডোস.ইন্টেরাকটিভিটি.ডিএল রয়েছে যা এটির সাথে সামঞ্জস্যপূর্ণ:

  • WPF 4.0, 4.5
  • সিলভারলিগট 4.0, 5.0
  • উইন্ডোজ ফোন 7.1, 8.0
  • উইন্ডোজ স্টোর 8, 8.1

এক্সপ্রেশন.ব্লোন্ড.এসডিকে ইনস্টল করতে প্যাকেজ ম্যানেজার কনসোলে নিম্নলিখিত কমান্ডটি চালান

PM> Install-Package Expression.Blend.Sdk

http://www.nuget.org/packages/Expression.Blend.Sdk/


10
নোট করুন যে এই প্যাকেজটি কোনও মাইক্রোসফ্ট বিতরণ নয়
পিয়ারস 7

2
আপনার যদি ইতিমধ্যে এমভিভিএম লাইট ইনস্টল থাকে তবে এটি একটি সংঘর্ষের সংস্করণ প্রবর্তন করবে System.Windows.Interactivity। সমাধান করার জন্য, উপরে আমার উত্তর দেখুন।
কনটাঙ্গো


19

সঙ্গে ভিসুয়াল স্টুডিও জন্য মিশ্রণের , যা ভিসুয়াল স্টুডিও মধ্যে অন্তর্ভুক্ত করা হয় সংস্করণ 2013 দিয়ে শুরু, আপনি নিম্নলিখিত ফোল্ডারে ডিএলএল পেতে পারবেন:

C:\Program Files (x86)\Microsoft SDKs\Expression\Blend\.NETFramework\v4.5\Libraries

System.Windows.Interactivity.dllইন্টারেক্টিভিটি নেমস্পেস ব্যবহার করে এমন কার্যকারিতা যুক্ত করতে একটি বিদ্যমান প্রকল্পের সাথে ভিজ্যুয়াল স্টুডিওর জন্য মিশ্রণ ব্যবহার না করা আপনাকে নিজের কাছে রেফারেন্স যুক্ত করতে হবে । সেক্ষেত্রে ব্লেন্ড স্বয়ংক্রিয়ভাবে রেফারেন্স যুক্ত করবে।


7
এটি আমার প্রকল্পটি ঠিক করতে সহায়তা করেছে। ভিজ্যুয়াল স্টুডিও 2017 এর সাথে, আমাদের ভিজ্যুয়াল স্টুডিও ইনস্টলারে যেতে হবে এবং এটি ব্যক্তিগত উপাদান (এসডিকে বিভাগ) এ খুঁজে পেতে হবে।
PRouleau

18

কখনও কখনও আপনি যখন একটি নতুন লাইব্রেরি যুক্ত করেন তখন এর সংঘর্ষের সংস্করণটি উপস্থাপন করেন System.Windows.Interactivity.dll

উদাহরণস্বরূপ, নুগেট প্যাকেজটির MVVM lightv4.2 প্রয়োজন হতে পারে System.Windows.Interactivity.dllতবে Rx-XAMLনুগেট প্যাকেজটির v4.5 প্রয়োজন হতে পারে System.Windows.Interactivity.dll। এটি প্রকল্পটিকে কাজ করতে বাধা দেবে, কারণ আপনার কোনও সংস্করণ System.Windows.Interactivity.dllঅন্তর্ভুক্ত নয়, গ্রন্থাগারের কোনও একটি সংকলন করতে অস্বীকার করবে।

ঠিক করার জন্য, app.configএমন কিছু দেখতে আপনার সম্পাদনা করে একটি অ্যাসেমব্লিং বাইন্ডিং রিডাইরেক্ট যুক্ত করুন :

<?xml version="1.0"?>
<configuration>
<runtime>
  <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
    <dependentAssembly>
      <assemblyIdentity name="System.Windows.Interactivity"
                        publicKeyToken="31bf3856ad364e35"
                        culture="neutral"/>
      <bindingRedirect oldVersion="4.0.0.0"
                       newVersion="4.5.0.0" />
    </dependentAssembly>
  </assemblyBinding>
</runtime>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/></startup>
<appSettings>
  <add key="TestKey" value="true"/>
</appSettings>

পরিবর্তনটি সম্পর্কে চিন্তা করবেন না PublicKeyToken, এটি সমস্ত সংস্করণ জুড়ে ধ্রুবক, কারণ এটি .dll এর নামের উপর নির্ভর করে, সংস্করণ নয়।

আপনি যে ইঙ্গিতটি শেষ করেছেন তার প্রকৃত সংস্করণটির newVersionসাথে আপনার মিল রয়েছে তা নিশ্চিত করুন appConfig:

এখানে চিত্র বর্ণনা লিখুন


আপনি এমন যথাযথ একই পোস্টে এখানে করেছিল stackoverflow.com/questions/13514027/... একাধিক পয়েন্ট :)
, pix

14

বিকল্প সমাধান হয় সংশোধন ভিসুয়াল স্টুডিও ইনস্টলার আপনার বর্তমান ভিসুয়াল স্টুডিও ইনস্টলেশন

Win+ + R %ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vs_installer.exe

যোগ Blend for Visual Studio SDK for .NETঅধীনে 'SDK আছে, লাইব্রেরি, এবং পরিকাঠামোর' 'স্বতন্ত্র উপাদান':

এখানে চিত্র বর্ণনা লিখুন এই উপাদানটি যুক্ত করার পরে System.Windows.Interactivityতার নিয়মিত স্থানে উপস্থিত হওয়া উচিত Add Reference/Assemblies/Extensions


এটি কেবল ভিএস2017 বা তার আগে কাজ করবে বলে মনে হচ্ছে। পরবর্তী সংস্করণগুলির জন্য, দয়া করে অন্যান্য উত্তরগুলি দেখুন।


2
আমার জন্য উপস্থিত হবে না :(
জুলিয়েন

আমার জন্য উপস্থিত হয় না। ভিএস 2019
বারে আক্কুর্ট 13


1

আমি এটি প্রিজম ডাব্লুপিএফ নিউগেট-প্যাকেজের মাধ্যমে পেয়েছি। (এটিতে উইন্ডোজ.সিস্টেম। অন্তর্ভুক্তি অন্তর্ভুক্ত রয়েছে)


0

আপনি যদি এমভিভিএম লাইটের সাথে কাজ করছেন তবে আপনাকে System.Windows.Interactivity Version 4.0(নুগেট। ডেল ডান্ট ওয়ার্ট) ব্যবহার করতে হবে যা আপনি নীচে খুঁজে পেতে পারেন:

PathToProjectFolder\Software\packages\MvvmLightLibs.5.4.1.1\lib\net45\System.Windows.Interactivity.dll

রেফারেন্স হিসাবে কেবল এটি .dll ম্যানুয়ালি যোগ করুন এবং এটি ঠিক হওয়া উচিত।

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