序列化消息体时出错

时间:2012-02-05 05:22:45

标签: .net wcf visual-studio-2010

当我在VS2010 IDE中运行我的电脑或作为EXE运行时,它可以工作。但是当我通过调度程序运行另一个框时,我收到错误:

There was an error in serializing body of message MyClassSoapIn: 'Unable to generate a temporary class (result=1).
error CS2001: Source file 'C:\WINDOWS\TEMP\xvjzdxjt.0.cs' could not be found
error CS2008: No inputs specified

这可能是权限问题吗?它使用临时文件夹。这会是一个问题吗?

1 个答案:

答案 0 :(得分:2)

所以,你可能遇到了类似问题......

您看到的错误是因为VS需要在编译和/或运行过程中将信息写入临时文件位置,并且VS对指定位置没有必要的权限/权限。

临时目录由TEMP(有时是TMP)环境变量指定。

WindowsKey + Pause > Advanced System Settings > Environment Variables

请注意,环境变量有两个类别:用户和系统。

您可能删除了USER变量,只留下了SYSTEM变量。

VS会查找env变量TEMP,无法找到USER变量的任何值,因此使用SYSTEM变量。问题是,VS没有对SYSTEM TEMP var。

指定的位置的写访问权

因此,要修复,只需重新创建并定义USER TEMP,TMP env vars即可使用'%USERPROFILE%\ AppData \ Local \ Temp'的正确值,以便VS现在可以找到并使用具有文件写权限的正确位置。

或者,您可能只想将TEMP / TMP指向的位置更改为您确保权利不会成为问题的地方。

相关问题