C# XMLSerializer 临时目录问题
我有一个从 SQL Server 代理作业调用的 C# 控制台应用程序。
该进程作为我创建的网络帐户运行。
最初我遇到了错误,因为序列化程序试图写入另一个用户的临时目录(SQL Server代理服务本身的帐户),但我使用配置设置修复了这个问题
<system.xml.serialization>
<xmlSerializer tempFilesLocation="c:\\temp"/>
</system.xml.serialization>
,但是现在我收到错误“无法生成临时类 (result=1)。
error CS0016: Could not write to output file 'c:\temp\2euqs4ou.dll' -- 'Access is denied. ' "
两个帐户都可以完全控制 c:\temp。
我
已经在 Google 上搜索了一整天,但没有成功。我拒绝将服务帐户设为机器管理员,但如果有必要的话我会的。
I have a C# console app invoked from a SQL Server Agent job.
The process runs as a network account I created.
Originally I got errors because the serializer ws trying to write to another user's temp directory (the account for the SQL Server Agent service itself), but I fixed that using the config setting
<system.xml.serialization>
<xmlSerializer tempFilesLocation="c:\\temp"/>
</system.xml.serialization>
However now I get the error "Unable to generate a temporary class (result=1).
error CS0016: Could not write to output file 'c:\temp\2euqs4ou.dll' -- 'Access is denied. ' "
Both the accounts have full control over c:\temp.
I'm stumped.
I've been Googling this all day now with no success. I am resisting making the service account a machine admin, but I will if I have to.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
为什么不使用 sgen 预生成 XmlSerializer 程序集。 exe?
Why not pre-generate the XmlSerializer assemblies with sgen.exe?