Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 未找到涉及随机临时文件的疯狂.net/Sharepoint错误_C#_.net_Xml Serialization_Sharepoint 2007_Sgen - Fatal编程技术网

C# 未找到涉及随机临时文件的疯狂.net/Sharepoint错误

C# 未找到涉及随机临时文件的疯狂.net/Sharepoint错误,c#,.net,xml-serialization,sharepoint-2007,sgen,C#,.net,Xml Serialization,Sharepoint 2007,Sgen,今天登录到客户环境以检查日志,通常只是进行检查,结果发现某个应用程序中的某些任务失败 应用程序是用运行在IIS内部的c#.net v4编写的,并导出到Sharepoint 2007 我不能100%确定是.net还是SharePoint造成的。以下是我得到的错误: 任务失败:服务器无法启动 处理请求。-->找不到 文件“C:\Windows\TEMP\qbckfur1.dll”。 Export 26.05.2011 15:00:21故障 任务失败:服务器无法启动 处理请求。-->找不到 文件“C:

今天登录到客户环境以检查日志,通常只是进行检查,结果发现某个应用程序中的某些任务失败

应用程序是用运行在IIS内部的c#.net v4编写的,并导出到Sharepoint 2007

我不能100%确定是.net还是SharePoint造成的。以下是我得到的错误:

任务失败:服务器无法启动 处理请求。-->找不到 文件“C:\Windows\TEMP\qbckfur1.dll”。
Export 26.05.2011 15:00:21故障
任务失败:服务器无法启动 处理请求。-->找不到 文件“C:\Windows\TEMP\2shjg2xb.dll”。
Export 26.05.2011 15:30:13故障
任务失败:服务器无法启动 处理请求。-->找不到 文件“C:\Windows\TEMP\b7utp199.dll”。
Export 26.05.2011 16:00:15故障
任务失败:服务器无法启动 处理请求。-->找不到 文件“C:\Windows\TEMP\ozr2umkm.dll”


这对任何人来说都很熟悉吗?

这是
XmlSerialization
的问题(信不信由你)。我在一个定制的ASP.NET MVC应用程序中遇到了这个问题。显然,当您对标记为“Serializable”的类型调用
Serialize
Deserialize
时,.NET将动态生成一个程序集以支持序列化,并尝试将该程序集写入“c:\windows\temp”

即使
每个人
都有对该目录的完全控制访问权限,我仍然看到在IIS应用程序池中运行应用程序时出现这种情况。特别是在具有大量序列化活动的应用程序中

如果这听起来像是您的问题,那么解决方案是“预编译”序列化程序集,并使用Windows SDK的一部分
sgen将其包含在应用程序中

这篇文章强调了一个类似的问题:

以下是有关该工具的MSDN文章:


最后一点注意:对于.NET 4.0,该工具有一个单独的版本,因此请确保在生成程序集时使用的版本正确。

重新启动SharePoint/AppPool。如果失败,请重新启动IIS。如果失败,请重新启动Windows。问题已解决\o/(记录这些错误的过程是什么?)可能重复的我建议将问题重新分类为序列化而不是SharePoint,或者添加关键字以满足一般人群的需要。非常感谢这听起来与我的问题完全一样。很高兴知道,以备将来参考。