System.IO.FileNotFoundException: не удалось найти файл 'C: \ WINDOWS \ TEMP \ xxxxxx.dll' - PullRequest
1 голос
/ 09 февраля 2011

У нас есть общедоступный веб-сайт, который использует Asp.Net 4, NHibernate 2.2. Этот сайт работал нормально без каких-либо проблем в течение последнего года. В последнее время мы замечаем следующую ошибку.

NHibernate.MappingException: Could not compile the mapping document: Project.NhibernateData.MappingFiles.MyEntity.hbm.xml ---> System.IO.FileNotFoundException: Could not find file 'C:\WINDOWS\TEMP\osj2cokr.dll'.
   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath)
   at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share)
   at Microsoft.CSharp.CSharpCodeGenerator.FromFileBatch(CompilerParameters options, String[] fileNames)
   at Microsoft.CSharp.CSharpCodeGenerator.FromSourceBatch(CompilerParameters options, String[] sources)
   at Microsoft.CSharp.CSharpCodeGenerator.System.CodeDom.Compiler.ICodeCompiler.CompileAssemblyFromSourceBatch(CompilerParameters options, String[] sources)
   at System.CodeDom.Compiler.CodeDomProvider.CompileAssemblyFromSource(CompilerParameters options, String[] sources)
   at System.Xml.Serialization.Compiler.Compile(Assembly parent, String ns, XmlSerializerCompilerParameters xmlParameters, Evidence evidence)
   at System.Xml.Serialization.TempAssembly.GenerateAssembly(XmlMapping[] xmlMappings, Type[] types, String defaultNamespace, Evidence evidence, XmlSerializerCompilerParameters parameters, Assembly assembly, Hashtable assemblies)
   at System.Xml.Serialization.XmlSerializer.GenerateTempAssembly(XmlMapping xmlMapping, Type type, String defaultNamespace)
   at System.Xml.Serialization.XmlSerializer..ctor(Type type, String defaultNamespace)
   at NHibernate.Cfg.XmlHbmBinding.Binder.Deserialize[T](XmlNode node)
   at NHibernate.Cfg.XmlHbmBinding.MappingRootBinder.Bind(XmlNode node)
   at NHibernate.Cfg.Configuration.AddValidatedDocument(NamedXmlDocument doc)

До сих пор я пробовал следующее.

  1. Очищено " C: \ WINDOWS \ TEMP ".
  2. Проверены разрешения для " C: \ WINDOWS \ TEMP ".
  3. Попытался сгенерировать dll Serialization с помощью sgen.exe и скопировал его в папку bin сайта.

В третьем случае наша ошибка меняется на следующую.

System.Web.HttpCompileException (0x80004005): External component has thrown an exception.
      at System.Web.Compilation.AssemblyBuilder.Compile()
      at System.Web.Compilation.BuildProvidersCompiler.PerformBuild()
      at System.Web.Compilation.BuildManager.CompileWebFile(VirtualPath virtualPath)
      at System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate)
      at System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContext context, VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate)
      at System.Web.Compilation.BuildManager.GetVPathBuildResult(HttpContext context, VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean ensureIsUpToDate)
      at System.Web.UI.TemplateControl.LoadControl(VirtualPath virtualPath)

Обновление : перезапуск сервера устраняет эту проблему в течение пары недель. Но потом это приходит снова.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...