سؤال

أنا حاليا في عملية إعداد خادم جديد لتشغيل منصة ASP.NET الخاصة بنا. لأول مرة أقوم بالتثبيت على نظام Windows 64 بت (2008 R2)، ومع IIS7.5 (قبل ذلك دائما 7.0). موقع الويب الخاص بنا مبني في X86، لذلك قمت بتمكين تجمعات التطبيقات لاستخدام تطبيقات 32 بت.

أنا عالق في الخطأ التالي الذي أحصل عليه عند تصفح الموقع الإلكتروني:

Server Error in '/' Application.



The specified module could not be found. (Exception from HRESULT: 0x8007007E)

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.IO.FileNotFoundException: The specified module could not be found. (Exception from HRESULT: 0x8007007E)

Source Error:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.


Stack Trace:



[FileNotFoundException: The specified module could not be found. (Exception from HRESULT: 0x8007007E)]

   System.Reflection.Assembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, Assembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection) +0

   System.Reflection.Assembly.nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, Assembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection) +43

   System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection) +127

   System.Reflection.Assembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection) +142

   System.Reflection.Assembly.Load(String assemblyString) +28

   System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective) +46



[ConfigurationErrorsException: The specified module could not be found. (Exception from HRESULT: 0x8007007E)]

   System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective) +613

   System.Web.Configuration.CompilationSection.LoadAllAssembliesFromAppDomainBinDirectory() +203

   System.Web.Configuration.CompilationSection.LoadAssembly(AssemblyInfo ai) +105

   System.Web.Compilation.BuildManager.GetReferencedAssemblies(CompilationSection compConfig) +178

   System.Web.Compilation.BuildProvidersCompiler..ctor(VirtualPath configPath, Boolean supportLocalization, String outputAssemblyName) +54

   System.Web.Compilation.CodeDirectoryCompiler.GetCodeDirectoryAssembly(VirtualPath virtualDir, CodeDirectoryType dirType, String assemblyName, StringSet excludedSubdirectories, Boolean isDirectoryAllowed) +600

   System.Web.Compilation.BuildManager.CompileCodeDirectory(VirtualPath virtualDir, CodeDirectoryType dirType, String assemblyName, StringSet excludedSubdirectories) +125

   System.Web.Compilation.BuildManager.EnsureFirstTimeDirectoryInit(VirtualPath virtualDir) +8803959

   System.Web.Compilation.BuildManager.GetBuildResultFromCacheInternal(String cacheKey, Boolean keyFromVPP, VirtualPath virtualPath, Int64 hashCode) +219

   System.Web.Compilation.BuildManager.GetVPathBuildResultFromCacheInternal(VirtualPath virtualPath) +43

   System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile) +59

   System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContext context, VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile) +101

   System.Web.Compilation.BuildManager.GetVirtualPathObjectFactory(VirtualPath virtualPath, HttpContext context, Boolean allowCrossApp, Boolean noAssert) +126

   System.Web.Compilation.BuildManager.CreateInstanceFromVirtualPath(VirtualPath virtualPath, Type requiredBaseType, HttpContext context, Boolean allowCrossApp, Boolean noAssert) +62

   System.Web.UI.PageHandlerFactory.GetHandlerHelper(HttpContext context, String requestType, VirtualPath virtualPath, String physicalPath) +33

   System.Web.UI.PageHandlerFactory.GetHandler(HttpContext context, String requestType, String virtualPath, String path) +37

   System.Web.MaterializeHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +307

   System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +155

لقد استخدمت Fuslogvw لتتبع أي أخطاء ملزمة .NET: 4 أظهرت تجميعات، لكنني أحصل على نفس 4 على خادمنا العادي عند تصفح الموقع لأول مرة. التجميعات هي cppcodeprovider، vjsharpcodeprovider واثنين من ملفاتنا * .resources. لقد نظرت إلى هذه، ولا أعتقد أنهم سبب هذه المشكلة، بالتأكيد ليس بعد معرفة بيئة عمل لها نفس التجمعات المفقودة في Fuslogvw.

بعد ذلك استخدمت واشنكر الاعتماد لدراسة DLL الرئيسية للموقع. لا شيء يبدو أنه مفقود، لكنني أحصل على الرسالة التالية:

* Error: Modules with different CPU types were found.

لا أعتقد أن هذه مشكلة أيضا لأن تجميعها .NET هي X86 وجميع التبعيات الأخرى هي X64.

لذلك أريد حقا معرفة ما هو مفقود "الوحدة" ASP.NET يشكو.

هل كانت مفيدة؟

المحلول

تم حل هذا مشكلتي: اضطررت إلى وضع MSVCR71.DLL في C: Windows System32 و C: Windows Syswow64.

نصائح أخرى

أنا حل المشكلة عن طريق الإعداد تمكين برنامج 32 بت ل صحيح تحت علامة تبويب الإعداد المتقدمة في تجمع التطبيقات.

تمكين برنامج 32 بت http://zizhujy.com/blog/image.axd؟picture=enable32bit.png

التفاصيل في هذه المدونة وظيفة

كان لدي مشكلة مماثلة مؤخرا عند وضع تطبيق 4.0 بيتا 1 على R2، مع نتائج مماثلة. استغرق الأمر مني بعض الوقت لاكتشاف أن المشكلة كانت أن إحدى تجميعات .NET الأساسي المشار إليها في المشروع (من GAC) أصبحت ملحوظا كما Copylocal True. ليس لدي أي فكرة عن - بالتأكيد لم أفعل ذلك عمدا وعدم عمل أي شخص آخر على ذلك. بمجرد ضبط ذلك (وأعتقد أنني اضطررت إلى حذف النسخة المحلية)، كانت كل شيء على ما يرام.

لقد وجدت الإجابة عن مشكلتي مع cppcodeprovider هنا:http://www.experts-exchange.com/programming/languages/.net/.net_framework_2.0/q_24367712.html(مطلوب تسجيل الدخول)

قم بإيقاف تشغيل "تحديد ثابت تتبع" أو تثبيت آخر .NET SDK على الكمبيوتر مع المشكلة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top