System.IO.FileNotFoundException:找不到文件'C:\ WINDOWS \ TEMP \ xxxxxx.dll'

时间:2011-02-09 10:46:40

标签: asp.net nhibernate xml-serialization asp.net-4.0

我们有一个使用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. 尝试使用 sgen.exe 生成序列化dll,并将其复制到站点 bin 文件夹。
  4. 在第三种情况下,我们的错误会更改为以下内容。

    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)
    

    更新:服务器重启会在几周内解决此问题。但它又来了。

0 个答案:

没有答案