আমি শেষ মুহুর্তে ভিজুয়াল স্টুডিওটি সাধারণত আমার এএসপি.নেট এমভিসি সাইটগুলি ডিবাগ করার জন্য বা কেবল প্লেইন লোড ("ডিবাগিং ছাড়াই শুরু করুন") বেদনাদায়কভাবে ধীরে ধীরে। সর্বদা নয়: প্রথমে, প্রকল্পগুলি দুর্দান্ত এবং দ্রুত লোড হবে তবে একবার ধীরে লোড হয়ে গেলে তারা এর পরে সর্বদা ধীর লোড করবে। আমি 1-2 মিনিট বা তারও বেশি অপেক্ষা করতে পারি।
আমার সেটআপ:
আমি বর্তমানে ভিজ্যুয়াল স্টুডিও 2012 এক্সপ্রেস ব্যবহার করছি তবে ভিজুয়াল স্টুডিও 2010 এক্সপ্রেসেও আমার একই সমস্যা ছিল। আমার সমাধানটি একটি নেটওয়ার্ক ড্রাইভে সঞ্চয় করা আছে; বিশেষত, এটি আমার ডকুমেন্টস যদি কোনও গুরুত্বপূর্ণ হয়ে থাকে তবে এটি একটি ড্রাইভে পুনঃনির্দেশিত। (এটি করা উচিত নয় times এমন সময় আছে যেখানে আমার সাইটটি এই সেটআপের আওতায় খুব দ্রুত লোড হয়))
আমি সাধারণত ইন্টারনেট এক্সপ্লোরার 9 এ লোড করি তবে ফায়ারফক্সে একই সমস্যা দেখা দেয়।
আমি যে কোনও এএসপি.নেট এমভিসি প্রকল্পে কাজ করতে পারি এটি ঘটতে পারে এবং আমার সমস্ত এএসপি.নেট এমভিসি প্রকল্পগুলি যে ডিসপ্লে টেম্প্লেটগুলি নিয়ে থাকে তা ঘুরে দেখা যায়। এবং এটি সমস্ত সি # এবং রেজার, যদি এটি গুরুত্বপূর্ণ।
লক্ষণ:
সিস্টেম আমার প্রতীক লোড করা হবে শত শত সময়ের। মূলত, নিম্নলিখিত, তবে কমপক্ষে 300 টির মতো সারি রয়েছে, প্রতিটি একই সিএসএইচটিএমএল-এর জন্য সর্বদা কিছুটা আলাদা ডিএলএল ফাইল সহ:
'iisexpress.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\b63f8236\6775085d\App_Web_contact.cshtml.22013bb9.xighmhow.dll', Symbols loaded.
'iisexpress.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\b63f8236\6775085d\App_Web_contact.cshtml.22013bb9.cv5hktkf.dll', Symbols loaded.
'iisexpress.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\b63f8236\6775085d\App_Web_statuscode.cshtml.22013bb9.1o77hs8i.dll', Symbols loaded.
'iisexpress.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\b63f8236\6775085d\App_Web_statuscode.cshtml.22013bb9.jja-77mw.dll', Symbols loaded.
'iisexpress.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\b63f8236\6775085d\App_Web_location.cshtml.22013bb9.l_e9ev_s.dll', Symbols loaded.
'iisexpress.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\b63f8236\6775085d\App_Web_location.cshtml.22013bb9.b4n59gom.dll', Symbols loaded.
উপরের দিকে, আমি তিনটি ডিসপ্লে টিম্পলেট পেয়েছি: "যোগাযোগ", "অবস্থান" এবং "স্থিতি কোড"। এটি প্রদর্শিত হয় যে আইআইএস প্রতিবার ডিসপ্লেস্টেমলেটটি ডাকার জন্য দুটি বার প্রতীকগুলি লোড করছে। সুতরাং, আমি যদি 100 টি এন্ট্রিগুলির একটি টেবিল প্রদর্শন করছি যা এই তিনটি ডিসপ্লেম্পলেটগুলির তিনটিকেই কল করে, এটি 600 টি পৃথক চিহ্ন লোড হয়েছে।
এটি হয় দ্রুত অপারেশনও নয়। আইআইএস উত্পাদিত লগ ফাইলগুলিতে সন্ধান করে, প্রতিটি প্রতীকটি লোড হতে 200 মিমি লাগে। সুতরাং, সুপার-দীর্ঘ বিলম্ব।
আমি যা চেষ্টা করেছি:
- ডিবাগ বা প্রকাশ সংস্করণ, এটি কোনও ব্যাপার নয়।
- আমার প্রকল্পটি একটি ওয়েব সার্ভারে একটি সম্পূর্ণ আইআইএস প্রয়োগের উপর রাখলে কোনও সমস্যা ছাড়াই এটি সুপার দ্রুত চালিত হয়।
- ক্যাসিনি, আইআইএস এক্সপ্রেস .5.৫, এবং আইআইএস এক্সপ্রেস ৮.০ এর মধ্যে সমস্যা রয়েছে।
- সমস্ত ব্রেকপয়েন্টগুলি মুছুন কিছুই করে না।
- ক্লিন সলিউশন , বা .সুও মোছাও কিছু করে না।
- আমি যদি আইআইএস এক্সপ্রেসটি মেরামত করি, বা
My Docs\IISExpress
ফোল্ডারটি মুছে ফেলি বা ভিজুয়াল স্টুডিওটি পুনরায় ইনস্টল / পুনরায় ইনস্টল করি → সমস্যাটি চলে যেতে পারে তবে কেবল কিছুক্ষণের জন্য, এটি ঠিক ফিরে আসার আগেই।
যে কোনও পরামর্শ প্রশংসিত হয়।
আরও প্রশ্নের উত্তর দিতে, হ্যাঁ আমার মেশিনটিতে অবশ্যই অশ্বশক্তি রয়েছে। উদ্বেগজনক বিষয়টি হ'ল একই প্রকল্প, কিছুই পরিবর্তন না করে খুব দ্রুত খুব দ্রুত লোড হতে পারে, সাধারণত আমি আইআইএস এক্সপ্রেস মেরামত করার পরে এবং My Docs\IISExpress
ফোল্ডারটি মোছার পরে । অবশেষে "কিছু" ঘটে যায় এবং আবার লোড হতে 2 মিনিটের কম হয়। আমি যা নিয়ে কাজ করছি তা কোনও জটিল প্রকল্প নয়। কোনও বাহ্যিক গ্রন্থাগার বা নির্ভরতা নেই, এবং আমার ভিএস.এনইটি-তে কোনও অ্যাডোন নেই।
লক্ষণীয় বিষয়, এই মেশিনটিতে সিম্যানটেক এন্ডপয়েন্ট প্রোটেকশন রয়েছে, যা বিধ্বস্ত হওয়ার ইতিহাস রয়েছে। তবে সরাসরি এটি অক্ষম করা (এটি প্রশাসক হওয়া ভাল) সমস্যার সমাধান করেনি।
এই মুহুর্তে আমার একটি তত্ত্ব আছে। আমি এই সমস্ত কারণটিই ভাবছি কারণ আমি একটি নেটওয়ার্ক ভাগ করে নেওয়ার দিকনির্দেশক ফোল্ডারটি বন্ধ করে দিচ্ছি। ডিবাগারটি তার শত শত "লোডড প্রতীক" লাইনগুলি দিয়ে যাচ্ছিল, আমি কী করছিলাম তা থামিয়ে থামলাম। এটি আমার কোডটিতে ছিল, আমার কাছে থাকা ডিসপ্লে টেম্পলেটটি লোড করা হচ্ছে। টেম্পলেট আউটপুট এ পদক্ষেপ:
Step into: Stepping over non-user code 'System.Threading.WaitHandle.InternalWaitOne'
Step into: Stepping over non-user code 'System.Threading.WaitHandle.WaitOne'
Step into: Stepping over non-user code 'System.CodeDom.Compiler.Executor.ExecWaitWithCaptureUnimpersonated'
Step into: Stepping over non-user code 'System.CodeDom.Compiler.Executor.ExecWaitWithCapture'
Step into: Stepping over non-user code 'Microsoft.CSharp.CSharpCodeGenerator.FromFileBatch'
Step into: Stepping over non-user code 'Microsoft.CSharp.CSharpCodeGenerator.System.CodeDom.Compiler.ICodeCompiler.CompileAssemblyFromFileBatch'
Step into: Stepping over non-user code 'System.Web.Compilation.AssemblyBuilder.Compile'
'iisexpress.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\b63f8236\6775085d\App_Web_statuscode.cshtml.22013bb9.bciuyg14.dll', Symbols loaded.
Step into: Stepping over non-user code 'System.Web.Compilation.BuildManager.CompileWebFile'
Step into: Stepping over non-user code 'System.Web.Compilation.BuildManager.GetVPathBuildResultInternal'
Step into: Stepping over non-user code 'System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert'
Step into: Stepping over non-user code 'System.Web.Compilation.BuildManager.GetVirtualPathObjectFactory'
Step into: Stepping over non-user code 'System.Web.Mvc.BuildManagerWrapper.System.Web.Mvc.IBuildManager.FileExists'
Step into: Stepping over non-user code 'System.Web.Mvc.VirtualPathProviderViewEngine.GetPathFromGeneralName'
Step into: Stepping over non-user code 'System.Web.Mvc.VirtualPathProviderViewEngine.FindPartialView'
Step into: Stepping over non-user code 'System.Web.Mvc.ViewEngineCollection.Find'
Step into: Stepping over non-user code 'System.Web.Mvc.ViewEngineCollection.FindPartialView'
Step into: Stepping over non-user code 'System.Web.Mvc.Html.TemplateHelpers.ActionCacheViewItem.Execute'
'iisexpress.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\b63f8236\6775085d\App_Web_statuscode.cshtml.22013bb9.kwj3uqan.dll', Symbols loaded.
Step into: Stepping over non-user code 'System.RuntimeType.CreateInstanceSlow'
Step into: Stepping over non-user code 'System.Web.Mvc.DependencyResolver.DefaultDependencyResolver.GetService'
Step into: Stepping over non-user code 'System.Web.Mvc.BuildManagerViewEngine.DefaultViewPageActivator.Create'
Step into: Stepping over non-user code 'System.Web.Mvc.BuildManagerCompiledView.Render'
দেখে মনে হচ্ছে ভিজ্যুয়াল স্টুডিওটি প্রতিবার যখন ডাকা হয়েছে, যা আবার কয়েকশো বার বলা হয়েছে তখন আমার ডিসপ্লেটিপ্লেটটি পুনরায় সংশ্লেষ করছে । আমার তত্ত্বটি হ'ল ভিজ্যুয়াল স্টুডিও ফাইলটি সংকলন করে, নেটওয়ার্ক শেয়ারে সংরক্ষণ করে, নেটওয়ার্ক ভাগ করে নেবে কোনওরকমে এটিতে একটি নতুন সময় স্ট্যাম্প করে, এবং ভিজ্যুয়াল স্টুডিও তখন মনে করে ফাইলটি পরিবর্তিত হয়েছে এবং এইভাবে ভিজুয়াল স্টুডিওটি এটি আবার পুনরায় সংশোধন করে। যদিও কেবল একটি তত্ত্ব; আমি সত্যিই কোন খেই আছে।
একটির জন্য, স্পষ্টতই আমার কাছে অফলাইন ফাইল রয়েছে (এটি কোনও অফিসে একটি ডেস্কটপ কম্পিউটার; আমি কম যত্ন নিতে পারি না)। আমি অক্ষম করতে যাচ্ছি, পুনরায় বুট করব এবং আগামীকাল আবার চেষ্টা করব।
এছাড়াও, আমার প্রকল্পটি যেমন স্থানীয় সি তে নিয়ে যাচ্ছে: এটি ঠিক করে। এটি খুব দ্রুত লোড হয়। তবে এটি কাজের পরিবেশে আদর্শ নয়। আমি পূর্ববর্তী সংস্করণগুলি হারাচ্ছি, আমি নিজেই এটির অনুলিপি না করা ছাড়া আমার কোডটির কোনও ব্যাক আপ নেই এবং এটি আর কারও সাথে ভাগ করা যায় না।
যদি এটি আসে তবে আমি সি থেকে আবার নেটওয়ার্ক ভাগ করে এটিকে অনুলিপি করে দেখতে পারি। প্রতিটি পৃষ্ঠা লোডের জন্য দুই মিনিট অপেক্ষা করা অনেক বেশি বিরক্তিকর।