Не удалось загрузить файл или сборку - PullRequest
1 голос
/ 02 мая 2020

У меня возникает следующая проблема, когда я пытался создать свой веб-сайт во второй раз, когда веб-страница показывает мне это. Я ищу решение, но пока не могу его найти. Когда я загружаю проект в первый раз, все функции работают нормально, проблема в том, что я выключаю компьютер и запускаю проект во второй раз.

Изображение с ошибкой

Server Error in '/' Application.
Could not load file or assembly 'file:///C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\8414c445\dc4fe894\App_global.asax.7hmxt1lb.dll' or one of its dependencies. The system cannot find the file specified.
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: Could not load file or assembly 'file:///C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\8414c445\dc4fe894\App_global.asax.7hmxt1lb.dll' or one of its dependencies. The system cannot find the file specified.

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.

Assembly Load Trace: The following information can be helpful to determine why the assembly 'file:///C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\8414c445\dc4fe894\App_global.asax.7hmxt1lb.dll' could not be loaded.


WRN: Assembly binding logging is turned OFF.
To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.
Note: There is some performance penalty associated with assembly bind failure logging.
To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].

Stack Trace:


[FileNotFoundException: Could not load file or assembly 'file:///C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\8414c445\dc4fe894\App_global.asax.7hmxt1lb.dll' or one of its dependencies. The system cannot find the file specified.]
   System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks) +0
   System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, RuntimeAssembly reqAssembly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks) +232
   System.Reflection.Assembly.Load(AssemblyName assemblyRef, Evidence assemblySecurity) +62
   System.CodeDom.Compiler.CompilerResults.get_CompiledAssembly() +119
   System.Web.Compilation.BuildProvider.CreateBuildResult(CompilerResults results) +74
   System.Web.Compilation.BuildProvider.GetBuildResult(CompilerResults results) +22
   System.Web.Compilation.ApplicationBuildProvider.GetGlobalAsaxBuildResult(Boolean isPrecompiledApp) +12028905
   System.Web.Compilation.BuildManager.CompileGlobalAsax() +52
   System.Web.Compilation.BuildManager.EnsureTopLevelFilesCompiled() +341

[HttpException (0x80004005): Could not load file or assembly 'file:///C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\8414c445\dc4fe894\App_global.asax.7hmxt1lb.dll' or one of its dependencies. The system cannot find the file specified.]
   System.Web.Compilation.BuildManager.ReportTopLevelCompilationException() +76
   System.Web.Compilation.BuildManager.EnsureTopLevelFilesCompiled() +631
   System.Web.Compilation.BuildManager.CallAppInitializeMethod() +38
   System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters, PolicyLevel policyLevel, Exception appDomainCreationException) +758

[HttpException (0x80004005): Could not load file or assembly 'file:///C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\8414c445\dc4fe894\App_global.asax.7hmxt1lb.dll' or one of its dependencies. The system cannot find the file specified.]
   System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +552
   System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +122
   System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +737

Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.8.4110.0

1 Ответ

1 голос
/ 02 мая 2020
when I turned off my computer and I start with the project by the second time

Я подозреваю, что вы выключили его - но многие файлы неправильно записали на диск ....

Укажите

Ошибка в каталоге Temporary ASP.NET Files - где asp. net automatically генерирует файлы - это не то, что связано с вашим кодом (по крайней мере, большую часть времени) - но проблема в компиляторе asp. net.

Общая идея

Остановите используемые вами программы и очистите кэш и временные файлы, а затем снова запустите их.

Шаги, которым я следую

Какой шаг я предлагаю сделать и очистить кеш, чтобы IIS / asp .net / cs перекомпилировал проект. Остановите программы, создающие временные файлы

  1. Убедитесь, что у вас есть свободное место на диске C.
  2. Закройте все программы Visual Studio
  3. Откройте «службы» и остановите IIS «Служба публикации в Интернете»

Теперь, когда мы остановили основные компиляторы, мы go до очистить все возможные кеш и временные файлы . Для удаления используйте программу (например, Total Commander), чтобы увидеть скрытые файлы тоже

  1. Очистить временный каталог asp. net -> C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\ все файлы и каталог здесь и все Temporary ASP.NET Files, существующие на вашем компьютере, зависят от того, как вы запускаете проект 32/64 бит - и какую версию вы используете ...

  2. Очистите временный windows временный каталог. Наберите cd %temp% и там удалите все файлы - остались заблокированные файлы, которые вы не можете удалить ...

  3. Очистите другой временный системный каталог windows, который вы можете найти в c:\windows\temp

  4. При необходимости очистите каталог скрытого кэша .vs, который находится в каталоге вашего проекта - это только в том случае, если у вас есть проблемы и задержки с Visual Studio и вашим проектом

Теперь позвольте go и снова запустите программы

  1. Запустите снова «Службы» и запустите IIS «Служба публикации в Интернете»
  2. Запустите Visual Studio, дайте ему секунду, чтобы перекомпилировать то, что нужно ...

Теперь ваша проблема должна быть решена. Чтобы избежать повреждения файлов, убедитесь, что на вашем компьютере достаточно свободного места, проверьте дату и время в вашей системе и не форсируйте выключение системы. Также проверьте жесткий диск на наличие ошибок - откройте окно командной строки cmd и запустите chkdsk c: /f для проверки и исправления ошибок.

О временных каталогах

Временные каталоги не совпадают на каждом компьютере. Вы можете найти их на панели управления | Система | Системные свойства | Переменные среды -> ищите TEMP и TMP. Когда вы набираете cd %temp%, вы go переходите во временный каталог, но многие программы запускаются под другой учетной записью и, например, windows имеет каталог c:/windows/temp/ для использования.

О asp. net временные каталоги. Этот каталог по умолчанию находится на c:\Windows\Microsoft.NET\Framework64\ для 64-битной системы, и там вы находите версию, а затем Temporary ASP.NET Files. Это то, что вы можете изменить в web.config вашего веб-приложения ...

Другие возможные причины

Проверьте программу просмотра событий и посмотрите, есть ли у вас строка, которая означает, что компилятор cra sh!

Application: csc.exe Framework Version: v###### Description: The process was terminated due to an unhandled exception. Exception Info: System.IO.FileNotFoundException at Microsoft.CodeAnalysis.CSharp.CommandLine.Program.Main(System.String[])

, в этом случае, возможно, вы используете какую-либо не asp. net net функцию для вашего глобального вызова или что-то из-за ошибки, которая зависает компилятора ... Проверьте также ваш web.config для правильного раздела о компиляторах - вот пример:

  <system.codedom>
    <compilers>
      <compiler language="c#;cs;csharp" extension=".cs" 
      type="Microsoft.CSharp.CSharpCodeProvider, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" warningLevel="4">
        <providerOption name="CompilerVersion" value="v4.0"/>
        <providerOption name="WarnAsError" value="false"/>
      </compiler>
    </compilers>
  </system.codedom>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...