C# XMLSerializer 临时目录问题

发布于 2024-12-08 01:40:11 字数 576 浏览 0 评论 0原文

我有一个从 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

你好,陌生人 2024-12-15 01:40:11

为什么不使用 sgen 预生成 XmlSerializer 程序集。 exe

sgen.exe /程序集:MyFile.dll

Why not pre-generate the XmlSerializer assemblies with sgen.exe?

sgen.exe /assembly:MyFile.dll

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文