কিভাবে পুরো প্রকল্পের নাম স্থান পরিবর্তন করতে?


104

আমি এই নিবন্ধ থেকে ডেমো অ্যাপ্লিকেশনটি পরিবর্তন করছি: http://msdn.microsoft.com/en-us/magazine/dd419663.aspx

আমার নেমস্পেসটি ব্যবহার করার জন্য আমাকে সমস্ত ফাইল আপডেট করতে হবে, উদাহরণস্বরূপ এখন এখানে ফাইল রয়েছে:

MySolution\MyApp\DemoApp\ViewModel\MainWindowViewModel.cs

এই জাতীয় নাম স্থান ব্যবহার করছে:

namespace DemoApp.ViewModel
{
/// <summary>
/// The ViewModel for the application's main window.
/// </summary>
public class MainWindowViewModel : WorkspaceViewModel

আমার এখানে ফাইল সরানো দরকার (ডেমো অ্যাপ্লিকেশন ফোল্ডারটি সরান):

MySolution\MyApp\ViewModel\MainWindowViewModel.cs

এবং সঠিক নেমস্পেস ব্যবহার করতে:

namespace MyApp.ViewModel
{
....

ভিজ্যুয়াল স্টুডিও 2010 এ কীভাবে করবেন?

আপডেট ঠিক আছে এখানে ভিজ্যুয়াল স্টুডিওতে ডুপ্লিকেট পরিবর্তন প্রকল্পের নেমস্পেস সম্ভব এখন আমি কীভাবে প্রকল্পের নাম স্থান পরিবর্তন করতে জানি তবে ফাইল সিস্টেমে ফাইলগুলি কীভাবে সরানো যায়? ("ডেমো অ্যাপ্লিকেশন" ফোল্ডার থেকে মুক্তি পান)


4
ঠিক একটি এফওয়াইআই হিসাবে,। নেট মধ্যে ফোল্ডার কাঠামোর সাথে মেলে আপনার প্রয়োজন মতো নেমস্পেসের প্রয়োজন নেই, এটির প্রয়োজন নেই।
জেমস মাইকেল হরে 21

1
জেমস যেমন বলেছিল, এটির প্রয়োজন নেই .. তবে আমি প্রশ্ন করব যে আমার কোনও অ্যাপে কাজ করার জন্য প্রয়োজনীয় একটি অ্যাপে কেন "কাজ শেষ" করা হয়নি।
32

1
ফাইল সরানোর বিষয়ে .. উম, কাট / পেস্ট এবং ড্রাগ / ড্রপ সাধারণত ভিজ্যুয়াল স্টুডিও সলিউশন ম্যানেজারের মধ্যে কাজ করে .. বা এমনকি ফোল্ডারের নাম পরিবর্তন বা মুছুন। আপনি যা করার চেষ্টা করছেন তার উপর নির্ভর করে।
34

উত্তর:


124

আমি কল্পনা করি যে ফাইলগুলিতে একটি সাধারণ প্রতিস্থাপন ( Ctrl+ Shift+ H) ঠিক কৌশলটি সম্পাদন করবে; কেবল namespace DemoAppসঙ্গে প্রতিস্থাপন namespace MyApp। এর পরে, সমাধানটি তৈরি করুন এবং অজানা শনাক্তকারীদের জন্য সংকলন ত্রুটিগুলি সন্ধান করুন। সম্পূর্ণরূপে যোগ্য যে কোনও কিছুতে DemoAppপরিবর্তিত হওয়া দরকার MyApp


62
important; প্রকল্প-বৈশিষ্ট্যেও ডিফল্ট-নেমস্পেস পরিবর্তন করুন; এটি রেজেক্স
মার্ক

আমার কাছে বেশ কয়েকটি এক্সএএমএল ফাইল রয়েছে যা ডাব্লুপিএফ উইন্ডোগুলি উপস্থাপন করে, তাই এটি আমার পক্ষে কার্যকর হবে না।
পিটার

6
আপনি যে কোনও usingবিবৃতি থেকে বদলে নিতে একটি প্রতিস্থাপন চালাতে using DemoAppহবে using Myapp
এন্ডব্যান্ডিট

5
এছাড়াও ভিউ ফোল্ডারে
ওয়েবকনফিগ

@ পিটার আপনার পুরো অ্যাপ্লিকেশনটির জন্য সমস্তগুলি প্রতিস্থাপন করতে সক্ষম হবেন, তারপরে মার্কের পরামর্শ অনুসারে বৈশিষ্ট্যগুলিতে আপডেট হওয়া উচিত, তারপরে সমাধানটি বন্ধ করুন এবং এটি আবার খুলুন অন্যথায় ভিএসের কিছু স্বয়ংক্রিয় সমাপ্তির সাথে অবর্ণনীয় আচরণ রয়েছে।
এরিক

153

কোথাও গিয়ে আপনার ফাইলগুলির একটিতে নেমস্পেস ঘোষিত হয়েছে। আপনি যে নেমস্পেসটি পরিবর্তন করতে চান তার অংশে কার্সারটি রেখে চাপুন F2। এটি প্রতিটি ফাইলের নাম স্থানটির নতুন নামকরণ করা উচিত। কমপক্ষে, এটি আমার উত্তর ডেস্ক প্রকল্পটিতে কাজ করেছিল আমি এই উত্তরটির পরীক্ষা করার জন্য!

আপনার ভিএস সংস্করণের উপর নির্ভর করে শর্টকাটটিও Ctrl- R, Ctrl- হতে পারে R


1
কোন কারণে আমার জন্য কাজ করে না। আমি F2 টিপুন এবং কিছুই ঘটে না।
javapowered

6
@ জাভাপাওয়ার্ড, তারপরে আপনার হটকিটি কাস্টমাইজ করা হয়েছে। আপনার জন্য ভিএস বিকল্পগুলি দেখুন। আজ আমার সিটিআরএল-আর সিটিআরএল-আর।
অ্যামি

4
দ্রষ্টব্য: যদিও আমি এখনও এই পদ্ধতিটিকে প্রাধান্য দিচ্ছি, তবে ভিউ / ডিরেক্টরিতে থাকা ওয়েবকনফাইগ ফাইলের মধ্যে ভিউ এবং ডিরেক্টরিতে উল্লেখ করে এটি [বোধগম্য] উল্লেখগুলি প্রতিস্থাপন করতে ব্যর্থ হয়েছে। শুধু তাদের জন্য দেখুন।
ওয়াইজগুই

3
এমন কোনও সংস্করণের জন্য যা হটকি পরিবর্তনের উপর নির্ভরশীল না হওয়া উচিত, কেবলমাত্র স্থানের নামটিতে ডান ক্লিক করুন এবং পুনরায় নাম নির্বাচন করুন।
কেট

3
দুর্ভাগ্যক্রমে এটি কাজ করে না আপনি যদি নতুন নামটি একটি .চরিত্র অন্তর্ভুক্ত করতে চান ।
বোটন্ড বালিজ

27

সমাধানটি ঠিক ডান ক্লিক করুন, বৈশিষ্ট্যগুলিতে যান, 'অ্যাপ্লিকেশন' বিভাগের অধীনে "ডিফল্ট নেমস্পেস" পরিবর্তন করুন।

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


3
এটি বিদ্যমান ফাইলগুলিতে নাম স্থান পরিবর্তন করে?
প্রিয়েশ কুমার

5
না, এটা হবে না।
অনুজা লামেহেভা

3

Ctrl+ Shift+ Hআসল সমাধান নয়।

আপনার সমাধানে আপনার সমস্ত নেমস্পেস সংজ্ঞা পরিবর্তন করতে আপনি পুনঃভাগটি ব্যবহার করতে পারেন। এটি আমি আগে চেষ্টা করার সেরা উপায়।

https://www.jetbrains.com/resharper/features/code_refactoring.html


2
পুনঃভাগে পূর্ণ বর্ধিত ব্যয়বহুল ডেস্কটপ মেশিনের প্রয়োজন হয়
ইভান জি

@IvanG। ভাল, অনেক বাণিজ্যিক প্রকল্পের জন্য সম্পূর্ণ প্রসন্ন ব্যয়বহুল বিকাশকারীদেরও প্রয়োজন হয়, সুতরাং কোনও গ্র্যান্ডার স্কিমে একটি মেশিন এবং আর # লাইসেন্স খুব বেশি ব্যয়বহুল নয়;) আপনার যদি এটি পরীক্ষা করতে হয় তবে (বা অ্যাডাম বা অ্যামির) পদ্ধতিটি সঠিকভাবে কাজ করেছে? , আপনি কোডের সমস্যাগুলি
স্টুয়ার্টএলসি

1
@ স্টুয়ার্টলসি দুর্ভাগ্যক্রমে একটি উত্সর্গীকৃত কর্মক্ষেত্র এবং বড় ডেস্কটপের দিনগুলি চলে গেছে, আমি আমার বিকাশের জন্য সত্যই শক্তিশালী একটি ল্যাপটপ ব্যবহার করি এবং পুনরায় ভাগ করে নেওয়া व्यावहारিকভাবে এটি মেরে ফেলেছে, তাই আমি যে কেউ সময়কে মূল্যবান বলে প্রস্তাব করি তা আমি অবাক করে বলছি না।
ইভান জি।

ছেলেরা যেহেতু আপনি কেবল নতুন নামকরণের জন্য ব্যবহার করতে পারেন আপনি জানেন :-) এটি নিখরচায় পরীক্ষামূলক সংস্করণটি সক্রিয় করুন, পুনরায় নামকরণ করুন এবং আপনি চাইলে এটি আনইনস্টল করুন ;-)
সেলুক এর্মায়া

1

নেমস্পেসের সমস্ত পরিবর্তন হয়েছে কিনা তা নিশ্চিত করতে আমি বেরেগ্রেপ নামে একটি সরঞ্জাম সহ ফোল্ডার কাঠামো পেরিয়েছি। এটি একটি নিখরচায় সরঞ্জাম যা আপনাকে একটি নির্দিষ্ট ফাইল কাঠামোর মধ্যে ফাইলগুলির সন্ধান করতে দেয়।


ফাইল ম্যাচ Regex: (.exe) | (.dll) | (.cache) | (.pdb) তারপর ম্যাচ বিপরীতমুখী । অন্যান্য বাইনারি এবং সেটার বাদ দিতে এই প্যাটার্নটি পুনরাবৃত্তি করুন।
টুবব


1

নেমস্পেস রিফ্যাক্টরিংয়ের জন্য আপনি রিসার্পার ব্যবহার করতে পারেন। এটি 30 দিনের জন্য বিনামূল্যে ট্রায়াল দেবে। এটি ফোল্ডারের কাঠামো অনুসারে নাম পরিবর্তন করবে change

পদক্ষেপ:

1) আপনি রিফ্যাক্টর করতে চান প্রকল্প / ফোল্ডার / ফাইল ক্লিক করুন।

২) আপনি যদি রিশার্পার ইনস্টল করে থাকেন তবে আপনি একটি অপশন পাবেন রিফ্যাক্টর-> অ্যাডজাস্ট নেমস্পেসস .... সুতরাং এটিতে ক্লিক করুন।

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

এটি স্বয়ংক্রিয়ভাবে নির্বাচিত সমস্ত ফাইলের নাম স্পেস পরিবর্তন করবে।


ধন্যবাদ .. আমি এটি করতে সক্ষম হয়েছি।
স্যাডোউড

0

আমি সবকিছু চেষ্টা করেছি কিন্তু আমি একটি সমাধান পেয়েছি যা সত্যিই কাজ করে। এটি একটি নতুন নেমস্পেসের নামের সাথে স্বতন্ত্র সমাধান তৈরি করে।

  1. প্রধান ফর্মের মধ্যে নেমস্পেসের নামটি সন্ধান করুন -> রাইট ক্লিক করুন -> রিফ্যাক্টর -> নাম পরিবর্তন করুন এবং একটি নতুন নাম নির্বাচন করুন। সমস্ত বাক্স পরীক্ষা করে ঠিক আছে ক্লিক করুন।

  2. সমাধান এক্সপ্লোরার সমাধান নাম একটি নতুন নাম।

  3. সমাধান এক্সপ্লোরার প্রকল্পের নাম একটি নতুন নাম।

  4. ভিএস বন্ধ করুন এবং সমাধান ফোল্ডারে নতুন নামে ফোল্ডারে নাম পরিবর্তন করুন (উদাহরণস্বরূপ মোট কমান্ডার)।

  5. .Sln ফাইলটিতে পুরানো নামটির নতুন নামকরণ করা হয়।

  6. পুরানো .suo ফাইল মুছুন (লুকানো)

  7. ভিএস এবং লোড প্রকল্প শুরু করুন

  8. প্রকল্প -> বৈশিষ্ট্য -> সমাবেশের নাম এবং ডিফল্ট নেমস্পেস নতুন নামে পরিবর্তন করুন।


0

আমি এটির দেরী জানি কিন্তু এখন থেকে যে কেউ এটি করতে চাইছেন, আমি আশা করি এই উত্তরটি কিছুটা সাহায্যের প্রমাণিত হয়েছে। আপনার যদি CodeRush Express( নিখরচায় সংস্করণ এবং একটি 'আবশ্যক') ইনস্টল থাকে তবে এটি কোনও প্রকল্পের প্রশস্ত নেমস্পেস পরিবর্তন করার সহজ উপায় সরবরাহ করে। আপনি নিজের নামটি স্থানটিতে যে কার্সারটি পরিবর্তন করতে চান তা ঠিক রেখেছেন এবং এটি স্ট্রিংয়ের smart tagনীচে একটি (কিছুটা নীল বাক্স) প্রদর্শন করবে namespace। বিকল্পটি Ctrl +দেখতে আপনি সেই বাক্সটি ক্লিক করতে পারেন বা কীগুলি টিপুন Rename। এটি নির্বাচন করুন এবং তারপরে প্রকল্পের প্রশস্ত নেমস্পেসের জন্য নতুন নামটি টাইপ করুন, ক্লিক করুন Applyএবং আপনার প্রকল্পের কোন স্থানটি আপনি এটি পরিবর্তন করতে চান তা নতুন সংলাপে এবং OKএটিতে নির্বাচন করুন। সম্পন্ন! :-)


আমার অভিজ্ঞতায় কোডআরশ এক্সপ্রেস কোনও 'অবশ্যই' (ব্যক্তিগত মতামত) নয়। এটি এই জাতীয় জিনিস জন্য সুবিধাজনক।
মার্টেন

0

যখন আমি নেমস্পেস এবং সমাধানের নামটি নিম্নরূপে পরিবর্তন করতে চেয়েছিলাম:
1) নামটি এটি নির্বাচন করে এবং নাম পরিবর্তন করে পরিবর্তন করেছি এবং সমাধান নাম
2 দিয়ে আমি একই কাজটি করেছি ) হালকা বাল্বের উপর ক্লিক করে পুরানো নেমস্পেস
3 এর সমস্ত দৃষ্টান্তের নাম পরিবর্তন করেছি ) সমাধানটি থেকে সমস্ত প্রকল্প সরিয়ে নেওয়া
4) ভিজ্যুয়াল স্টুডিও বন্ধ করে
5) উইন্ডোজ এক্সপ্লোরারের সমস্ত প্রকল্পের নাম পরিবর্তন করে
)) ভিজ্যুয়াল স্টুডিও খুলে আবার সমস্ত প্রকল্প যুক্ত করা
7) তাদের বৈশিষ্ট্যগুলির সমস্ত প্রকল্পের নাম স্থানের নাম
8) সরানো বিন ফোল্ডার ( সমস্ত প্রকল্প থেকে)
9) আবার প্রকল্প তৈরি

এটি কোনও সমস্যা ছাড়াই আমার পক্ষে কাজ করেছিল এবং আমার প্রকল্পটিতে সোর্স নিয়ন্ত্রণও ছিল। রিমোটে এই পরিবর্তনগুলি ঠেকানোর পরে সমস্ত ঠিক ছিল।

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