代码之家  ›  专栏  ›  技术社区  ›  Raj Rao

MSBuild任务失败-未在单线程单元中运行

  •  0
  • Raj Rao  · 技术社区  · 14 年前

    我有一个自定义的MsBuild任务,它发送一封电子邮件(在发送类似电子邮件的格式化内容时做一些特殊的事情)。

    :

    使用TFS 2008

    在我在生成计算机上安装.Net 4.0并将生成服务设置为使用新版本的MSBuild(通过设置 MSBuildPath路径 属性设置为c:\Windows\Microsoft.NET\Framework\v4.0.21006)

    我得到的错误是:

    "...\TFSBuild.proj" (EndToEndIteration target) (1) -> (EmailResults target) -> ...\BuildType\TFSBuild.proj(386,5): error : SendEmailTask failed: ActiveX control '8856f961-340a-11d0-a96b-00c04fd705a2' cannot be instantiated because the current thread is not in a single-threaded apartment.
    

    这个 SendEmailTask 使用 SmtpClient SmtpClient公司 正在使用某个引发此错误的基础ActiveX对象)。

    1 回复  |  直到 14 年前
        1
  •  2
  •   Hans Passant    14 年前

    您的生成任务正在尝试启动Internet Explorer。是的,它需要一个STA线程,不,不能从MSBuild.exe中获取一个

    推荐文章