【问题标题】:C# XMLSerializer temp directory problemsC# XMLSerializer 临时目录问题
【发布时间】:2011-12-01 19:53:49
【问题描述】:

我有一个从 SQL Server Agent job. 调用的 C# 控制台应用程序

该进程作为我创建的网络帐户运行。

最初我收到错误是因为序列化程序试图写入另一个用户的临时目录(SQL Server 代理服务本身的帐户),但我使用配置设置修复了该问题

 <system.xml.serialization>
      <xmlSerializer tempFilesLocation="c:\\temp"/>
 </system.xml.serialization>

但是现在我收到错误 "Unable to generate a temporary class (result=1).

error CS0016: Could not write to output file 'c:\temp\2euqs4ou.dll' -- 'Access is denied. ' " 

两个帐户都可以完全控制c:\temp. 我很难过。

我整天都在谷歌上搜索,但没有成功。我拒绝将服务帐户设置为机器管理员,但如果必须,我会这样做。

【问题讨论】:

  • 是否有可能有 2 个 EXE 实例正在运行并且都试图同时访问该文件?
  • 您如何让 consol 应用程序从 SQLServer 代理作业作为“我关心的网络帐户”运行?

标签: c# serialization permissions


【解决方案1】:

为什么不使用sgen.exe 预先生成 XmlSerializer 程序集?

sgen.exe /assembly:MyFile.dll

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多