আমার ক্লিকঅনস অ্যাপ্লিকেশনটির ডিফল্ট ফোল্ডার লোকেশন পেতে সক্ষম হয়ে কাজ করার জন্য আমি এখানে যা খুঁজে পেয়েছি এবং আমার অনুরূপ, নির্দিষ্ট দৃশ্যের জন্য এটি আমার সন্ধানগুলিতে আমি কোথাও দেখেছি তা উল্লেখ করা হয়নি:
- ক্লিকোনস অ্যাপ্লিকেশনটি কোনও ল্যান নেটওয়ার্ক ফোল্ডারে স্থাপন করা হয়েছে।
- ক্লিকোনস অ্যাপ্লিকেশনটি অনলাইনে বা অফলাইনে উপলভ্য হয়ে আছে।
- আমার প্রকল্পের বৈশিষ্ট্যগুলিতে আমার ক্লিকোনস ইনস্টলেশন URL এবং আপডেট URL গুলি নির্দিষ্ট করে নেই। এটি হল ইনস্টলেশন বা আপডেটের জন্য আলাদা কোনও অবস্থান নেই।
- আমার প্রকাশনা বিকল্পে, আমি ক্লিকঅনস অ্যাপ্লিকেশনটির জন্য একটি ডেস্কটপ শর্টকাট তৈরি করছি।
- প্রারম্ভকালে আমি যে ফোল্ডারটির জন্য পাথটি পেতে চাই তা হ'ল আমি সেই পথটি হার্ডকোড না করে অ্যাপ্লিকেশনটির ডিইভি, আইএনটি এবং পিআরডি সংস্করণগুলি দ্বারা অ্যাক্সেস করতে চাই।
এখানে আমার ব্যবহারের ক্ষেত্রে একটি দৃশ্য রয়েছে:
- নীল বক্সযুক্ত ফোল্ডারগুলি প্রতিটি পরিবেশের প্রয়োগের জন্য আমার ডিরেক্টরি অবস্থান।
- লাল বাক্সযুক্ত ফোল্ডারটি সেই ডিরেক্টরি যা আমি পাথ পেতে চাই (যা প্রথমে অ্যাপ্লিকেশনটির মোতায়েন করা ফোল্ডার অবস্থান "মাই ক্লিকঅনসগ্রিটঅ্যাপ__1_0_0_37" পাওয়া যা ওপি-র মতোই হয়)।
ক্লিকোনস অ্যাপ্লিকেশনটি নিযুক্ত করা ফোল্ডারটি ফিরিয়ে আনতে এই প্রশ্নে বা তাদের মন্তব্যে আমি কোনও পরামর্শ খুঁজে পাইনি (যে আমি আগ্রহের ফোল্ডারটি সন্ধান করতে এই ফোল্ডারের সাথে সম্পর্কিত হয়ে যেতে পারি)। অন্য কোনও ইন্টারনেট অনুসন্ধান বা সম্পর্কিত এসও প্রশ্নের কোনও উত্তর নেই turned
প্রস্তাবিত সমস্ত বৈশিষ্ট্য হয় হয় অবজেক্টের (যেমন অ্যাক্টিভেশনইউরি) নালার কারণে ব্যর্থ হয়েছিল বা স্থানীয় পিসির ক্যাশেড ইনস্টলড অ্যাপ্লিকেশন ফোল্ডারের দিকে ইশারা করছে। হ্যাঁ, আমি ইসনেট ওয়ার্ডপ্রেসকারীদের জন্য একটি চেক দ্বারা নিখুঁতভাবে নাল বস্তুগুলি পরিচালনা করতে পারি - এটি কোনও সমস্যা নয় - তবে আশ্চর্যরূপে ইসনেটওয়ার্কডেপর্ডার মিথ্যা প্রত্যাবর্তন করে যদিও আমি বাস্তবে ক্লিকঅনস অ্যাপ্লিকেশনটির জন্য একটি নেটওয়ার্ক মোতায়েন করা ফোল্ডার অবস্থান রয়েছে। এটি কারণ স্থানীয়, ক্যাশেড বিট থেকে অ্যাপ্লিকেশনটি চলছে।
সমাধানটি দেখুন:
AppDomain.CurrentDomain.BaseDirectory
অ্যাপ্লিকেশনটি যখন আমি বিকাশ করি তখন ভিজ্যুয়াল স্টুডিওতে চালিত হয়
System.Deployment.Application.ApplicationDeployment.CurrentDeployment.UpdateLocation
যখন এটি সাধারণত চালানো হয়।
System.Deployment.Application.ApplicationDeployment.CurrentDeployment.UpdateLocation
আমার ক্লিকঅনস অ্যাপ্লিকেশনটি যে কোনও ক্ষেত্রে নিযুক্ত করা হয়েছে সেই নেটওয়ার্ক ডিরেক্টরিটি সঠিকভাবে প্রদান করে। এটি যখন এর মাধ্যমে চালু হয়:
- setup.exe
- MyClickOnceGreatApp.application
- ডেস্কটপ শর্টকাট অ্যাপ্লিকেশনটির প্রথম ইনস্টল এবং লঞ্চের উপরে তৈরি।
ওয়ার্কএক অ্যাকাউন্টস ফোল্ডারের পাথ পেতে অ্যাপ্লিকেশন শুরুতে আমি যে কোডটি ব্যবহার করি তা এখানে। স্থাপনা অ্যাপ্লিকেশন ফোল্ডারটি পাওয়া কেবল পিতামাতার ডিরেক্টরিতে না গিয়েই সহজ:
string directoryOfInterest = "";
if (System.Diagnostics.Debugger.IsAttached)
{
directoryOfInterest = Directory.GetParent(Directory.GetParent(Directory.GetParent(AppDomain.CurrentDomain.BaseDirectory).FullName).FullName).FullName;
}
else
{
try
{
string path = System.Deployment.Application.ApplicationDeployment.CurrentDeployment.UpdateLocation.ToString();
path = path.Replace("file:", "");
path = path.Replace("/", "\\");
directoryOfInterest = Directory.GetParent(Directory.GetParent(path).FullName).FullName;
}
catch (Exception ex)
{
directoryOfInterest = "Error getting update directory needed for relative base for finding WorkAccounts directory.\n" + ex.Message + "\n\nUpdate location directory is: " + System.Deployment.Application.ApplicationDeployment.CurrentDeployment.UpdateLocation.ToString();
}
}